asp.net TextBox中的值和文本属性(值被Text覆盖)

时间:2013-10-25 15:14:32

标签: asp.net textbox

我有像下面的TextBox。

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

代码背后。

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

如果我删除了文字属性。

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

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

每当我保留text属性时,我都无法访问Value字段。如何在文本属性存在时获取值字段?

3 个答案:

答案 0 :(得分: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"/>

如果省略TextBox的{​​{1}}属性并写入value属性,则将呈现value属性。

Text

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

TextBox没有Value属性。创建TextBox实例时,HTML值属性将分配给Text属性,这就是您访问具有“aaaa”值的Text属性的原因。

摘要:使用ASP.NET控件时不要使用value属性。使用控件特定属性。

答案 1 :(得分:0)

答案 2 :(得分:0)

如果您尝试在页面上存储与控件关联的数据,请考虑使用ASP.NET HiddenField控件来存储可以通过post backs读取到服务器的值,如下所示:

<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