- - PR -
[ASP.NET]TextBoxのReadOnly
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-01 21:28
現在ASP.NET+VB.NETでの開発をやっていまして、VB.NET側で
条件に応じてTextBoxの入力制限をReadOnlyのプロパティで 制御しようとしています。 ASP.NETのデザイン画面ではReadOnlyのプロパティを設定できるのですが、 VB.NETのコードではどのように記述すればReadOnlyの制御ができるのでしょうか? .NET初心者ですみません。 どうかよろしくお願いします。 | ||||
|
投稿日時: 2005-08-01 21:49
普通に
TextBoxObject.ReadOnly = true とか TextBoxObject.ReadOnly = false とかすれば良いのでは? | ||||
|
投稿日時: 2005-08-01 21:55
TextBox1.ReadOnly = True と書く。 その後 PostBack は必要。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2005-08-01 22:06
先ほど確認しましたところ
<asp:TextBox id="XXX" runat="server"></asp:TextBox> で作られた System.Web.UI.WebControls.TextBox だとおっしゃった通り ReadOnly は使えるようです。 それが <input type="text" id="XXX" runat="server"> で作られた System.Web.UI.HtmlControls.HtmlInputText だとないみたいなのです。 現在HTMLを作成してからそれをASPに変換するやり方 (拡張子を.aspxに変更して、項目にrunat="server"を追加) でやってまして、<asp:TextBox>でなく<input type="text"> の方でやってました。 これは <asp:TextBox id="XXX" runat="server"></asp:TextBox> で作られた System.Web.UI.WebControls.TextBox でないと ReadOnly は制御できないという事でしょうか? また、通常は<input type="text" runat="server">ではなく <asp:TextBox runat="server"></asp:TextBox>の方を使うべき という事でしょうか? | ||||
|
投稿日時: 2005-08-01 22:22
1.TextBoxでReadOnlyをTrueにした時に、はき出されるHTMLの内容を見る。
2.すると、ReadOnlyがfalseの時にはなかった、属性がある。 3.TextのAttributesにその属性を追加する。 以上で、TextをReadOnlyにできます。 が、不都合が無いならTextBoxを利用した方が楽でしょうね。 _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||
|
投稿日時: 2005-08-02 08:58
返事遅れてすみません。
プロパティで設定すると <input type="text" readOnly> ^^^^^^^^ という属性は入っていたのですが、 それをどう設定していいかが分かりませんでした。 で、教えていただいたAttributesを使って、 XXXX.Attributes.Add("readonly", "true") という記述でReadOnlyに設定できました。 なるほど、Attributesを使えばいろいろ設定 できるんですね。。。 詳しい説明ありがとうございました。 |
1