我正在使用jQuery在JavaScript pageLoad()和通过事件动态切换.NET TextBox上的readonly
属性。
我可以看到此属性已正确添加到文本框 HTML 中,例如:
<input type="text" value="0" id="txtSalesYear1"
onkeypress="return IsNumberKey(event, true);" data-control-id="sales-textbox"
data-relative-year="1" data-region-id="1" data-subregion-id="2"
data-year="2014" readonly>
但是,当我检查服务器端回发时,readonly
属性为 null:
txtSalesYear1.Attributes.Item("readonly") ' = Nothing
当我遍历 Attributes 集合时,我看到所有其他自定义属性及其正确的值。 如何获取此只读属性?
readonly 属性可以是 "readonly = "readonly" 或 " (空字符串) 或 empty"。尝试将属性设置为 readonly="readonly",然后查看回发属性。
假设您提供的是 .NET 文本框的输出(因为它被标记为 Web 表单)而不是标准 HTML 文本框,您将添加如下标记:
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="true"></asp:TextBox>
渲染的源将如下所示:
<input name="TextBox1" type="text" readonly="readonly" id="TextBox1" />
然后服务器端
C#
var isReadonly = ((TextBox)TextBox1).ReadOnly;
VB.NET
Dim isReadonly = DirectCast(TextBox1, TextBox).[ReadOnly]
还有控件的只读属性的值。