Anymmt.blog

日々の出来事とプログラミング・・・

C# TextMode=MultiLineのTextBoxでMaxLengthがきかない。

.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

【送料無料】独習JavaScript
価格:2,940円(税込、送料別)


, , , ,

スポンサードリンク

コメントを残す

メールアドレスが公開されることはありません。