我有像下面的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字段。如何在文本属性存在时获取值字段?
答案 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)
值不是asp:Textbox
的有效属性http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.aspx
答案 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