- - PR -
MultiLineのTextBoxで、WRAP=softにする方法
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-11-11 10:23
お世話になります。
ASP.NETのMultiLineのTextBoxで、<textarea>タグのWRAP=softにする方法がわかりません。 ブラウザがIEの場合は、TextBoxのプロパティのWrapをTrueにすることで<textarea>内で自動改行してくれるのですが、NetscapeNavigatorでは<textarea>内で自動改行されません。NetscapeNavigatorでも<textarea>内で自動改行するようにするにはどうすれば良いのでしょう? | ||||||||
|
投稿日時: 2002-11-11 15:40
NN6 は wrap 属性を無視してる、ということでしょうか? W3C の規格に無いものをサポートしていないブラウザがあっても、 それはしかたのないことです。 ( W3C の規格をサポートしていないブラウザには、 文句は付けられますが、 やっぱりしかたないですね。 f(^^; ) ブラウザの細かい違いには、そのつど地道に対応していくしかありません。 ( ブラウザ独自の機能を使っちゃうと、 その対応がより大変になるわけです。 ) ※ W3C の HTML 4.01 で、 textarea 要素に付けられる属性は以下の通りです。 ( http://www.w3.org/TR/html401/interact/forms.html#h-17.7 より ) name, rows, cols, disabled, readonly, tabindex, accesskey, onfocus, onblur, onselect, onchange; id, class, style, title; lang, dir; onclick, ondblclick, onmousedown, onmouseup, onmouseover, onmousemove, onmouseout, onkeypress, onkeydown, onkeyup ※ ちなみに、textarea 要素の wrap 属性は、 NN2 で導入されたらしい。 http://home.jp.netscape.com/ja/eng/mozilla/2.0/relnotes/mac-2.01I.html#Images と、 これだけ書いておいてなんですが… f(^^; 手元の NN6.2 では、wrap="soft" が効きましたよ。 ひょっとして、form 要素に含めていないとか? --- ASP.NET (魔法の杖) を使いこなすために… ユニバーサル HTML/XHTML [ メッセージ編集済み 編集者: biac 編集日時 2002-11-11 15:41 ] | ||||||||
|
投稿日時: 2002-11-12 08:56
biacさん、ありがとうございます。
> 手元の NN6.2 では、wrap="soft" が効きましたよ。 私の質問は、ASP.NETでwrap="soft"を指定するにはどうすれば良いかということです。 ASP.NETのMultiLineのTextBoxでは、wrap="true"は指定できますが、wrap="soft"を指定できません。デザイナでなくHTMLで強引に書き直すとエラーになります。 | ||||||||
|
投稿日時: 2002-11-12 14:07
すみません、はやとちり。 m(_`_)m TextBox Web Server Control で、ですか? それはムリというものでしょう。 ※ MSDN Library: .NET Framework General Reference: TextBox Web Server Control より引用
…しっかり、True または False しか指定できないと規定されています。 TextBox Web Server Control の実体である System.Web.UI.WebControls.TextBox の Wrap Property は、 public virtual bool Wrap {get; set;} と定義されていますから、True か False しか受け付けないわけです。 対処としては、TextBox Web Server Control を継承したクラスを作って、 AddAttributesToRender メソッドをオーバーライドすると上手く行くかもしれません。 ※ HtmlTextArea Control じゃダメなんですよね? | ||||||||
|
投稿日時: 2002-11-12 15:44
biacさん、ありがとうございます。
> ※ HtmlTextArea Control じゃダメなんですよね? なるほど。そういう手がありましたか。ということで、早速試してみました。結果的にはこれを使えばwrap="soft"が指定できました。ただ、VS.NETのデザイナのプロパティではデフォルトでwrap="soft"になっているにも関わらず、実際のHTMLではwrap="soft"とはなっておらず、HTMLモードで一旦hardにしてsoftに切り替えるとか手入力しないとダメでした。 ASP.NETでも、Request.Formを使うことになるとは思っても見なかった。 しかし、<textarea>ってIEとNNでは表示幅が大きく違いすぎてデザインに困りますね。 Web.UI.WebControls.TextBoxだと見た目の表示幅は結構同じに出来て嬉しかったのに。 | ||||||||
|
投稿日時: 2002-11-12 15:52
自己レスです。
> Web.UI.WebControls.TextBoxだと見た目の表示幅は結構同じに出来て嬉しかったのに。 HtmlTextAreaでも、colsでNN用に横幅を調節して、styleのwidthでIE用に横幅を調整することが出来ました。 |
1