2013-10-25 7 views
6

私は以下のようなTextBoxを持っています。asp.netの値とテキストのプロパティTextBox(値はテキストで上書きされます)

<asp:TextBox runat="server" ID="Name" value="aaaa" text="bbbb"/> 

コードビハインド。

Dim str As String = Name.Text.Trim() ' value as bbbb 

テキストプロパティを削除した場合。

私はテキストプロパティを保持しているときはいつでも、値フィールドにアクセスすることができません。テキストプロパティが存在する場合の値フィールドの取得方法

+1

あなたは、Valueプロパティを使用してはならない、それがテキストボックスの一部ではありません。あなたは常にテキストを使うべきです。価値とテキストの両方を持っているときは、ビューソースを見てください。 –

答えて

6

valueプロパティを使用しないでください。 asp.netのTextBoxを使用している場合は、Textを使用する必要があります。

TextBoxクラスに存在しないプロパティを追加すると、asp.netはこれらのプロパティを結果のHTMLにレンダリングします。だから、

<asp:TextBox runat="server" ID="Name" text="bbbb" mycustomproperty="hi" /> 

この

<input type="text" value="bbbb" id="..." name="..." mycustomproperty="hi"/> 

あなたはTextBoxTextプロパティを省略し、valueプロパティを記述した場合、valueプロパティがレンダリングされるようなものにレンダリングされます。

<asp:TextBox runat="server" ID="Name" value="aaaa" /> 

<input type="text" value="aaaa" id="..." name="..."/> 

へのTextBoxには、Valueプロパティを持っていません。 TextBoxインスタンスが作成されると、HTMLのvalueプロパティがTextプロパティに割り当てられます。そのため、Textプロパティにアクセスするのは「aaaa」という値になります。

要約:ASP.NETコントロールを使用するときは、valueプロパティを使用しないでください。コントロール固有のプロパティを使用します。

0

あなたがページ上のコントロールに関連付けられたデータを格納しようとしている場合は、このように、サーバーにポストバック間で読み取ることができる店舗値にASP.NET HiddenFieldコントロールを使用することを検討してください:

<asp:HiddenField runat="server" id="HiddenFieldValue" /> 

はその後、コードビハインドで、あなたはこのように、Valueプロパティを経由して値を取得して設定することができます

' Storing value 
Me.HiddenFieldValue.Value = "value you want to keep" 

' Retrieving value 
Dim str As String = Me.HiddenFieldValue.Value 
関連する問題