Asp.net 是否在服务器端获取客户端只读属性?

Asp.net 是否在服务器端获取客户端只读属性?,asp.net,.net,vb.net,webforms,Asp.net,.net,Vb.net,Webforms,我使用jQuery在JavaScript页面加载和通过事件动态切换.NET文本框上的只读属性 我可以看到此属性已正确添加到文本框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

我使用jQuery在JavaScript页面加载和通过事件动态切换.NET文本框上的只读属性

我可以看到此属性已正确添加到文本框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>

当我在Attributes集合中循环时,我会看到所有其他自定义属性及其正确值。如何获取此只读属性?

只读属性可以是readonly=readonly、空字符串或空。尝试将属性设置为readonly=readonly,然后查看回发属性

假设您提供的是一个.NET文本框的输出,因为它被标记为webform而不是标准HTML文本框,您将添加如下标记:

<asp:TextBox ID="TextBox1" runat="server" ReadOnly="true"></asp:TextBox>
VB.NET

Dim isReadonly = DirectCast(TextBox1, TextBox).[ReadOnly]

还有控件的只读属性的值。

浏览器不会在表单提交时发送此类数据。它只发送表单中input\textarea控件的值。它不会发送除值以外的任何属性。与上面的注释一样,readonly属性不会发送到服务器。您必须将更改存储在其他地方,如隐藏字段。
 <input name="TextBox1" type="text" readonly="readonly" id="TextBox1" />
var isReadonly = ((TextBox)TextBox1).ReadOnly;
Dim isReadonly = DirectCast(TextBox1, TextBox).[ReadOnly]