.netのサーバーコントロールの中にテキストボックスがあります。
そのテキストボックスにMaxLengthというプロパティがあり、それを設定することにより、最大入力文字数を制御できます。
しかし、TextModeプロパティにMultiLineを設定したときに、MaxLengthプロパティの設定値がきかなくなってしまいました。
こうゆうときはやっぱりMSDNライブラリ。(←マイクロソフトのリファレンスみたいなやつ)
ちゃんと載ってましたよ。
以下、MSDNからの引用です。
TextBox.MaxLength プロパティ
このプロパティは、TextMode プロパティが TextBoxMode.SingleLine または TextBoxMode.Password に設定されている場合にだけ適用できます。
確かに載ってます。
でも、どうしてなのか気になります。
だって、同じテキストボックスなのに、単純に設定がきくはずだ!って思ってしまいます。
そしたら、納得のいく理由が見つかりました。
TextModeプロパティにMultiLineを設定したテキストボックスはHTMLのTextAreaにレンダリングされます。
そのTextAreaの属性にMaxLengthの属性がないため、きかなくなってしまうとのことです。
そういわれると納得。
ということはMaxLengthきかないとこはサーバーサイドで文字数チェックかましとかないと、大量文字で落ちちゃうなぁ。
ちょっと話はそれますが、昨日、今日と3年ぶりくらいにwebアプリを実装してます。
あっ。その3年くらいはWindowsアプリの開発をやってました。
そうゆうこともあり、まだwebの感覚が取り戻せてません。
やっぱりWebはいろいろと奥が深い。
というか、どうしてもC#だけじゃなくて、スクリプトやらCSSやら絡んでくるだけど、その辺とのやり取りの感覚がまだ取り戻せていない感じ。
時間はないけど、じっくりと感覚を取り戻して、一気にラストスパートかける感じで持っていけたらいいかな。。。
今度の仕事、無事、納期までに終わりますよーに!
って、いまのところ一人で作ってるから、自分次第だしー。
【送料無料】独習JavaScript |