Dre*_*TeK 2 c# vb.net asp.net readonly disabled-control
如何保护asp:textbox不受用户输入的影响?
禁用它
<asp:TextBox ID="txbx" runat="Server" Text="1" Enabled="false" />
Run Code Online (Sandbox Code Playgroud)
保护它
<asp:TextBox ID="txbx" runat="Server" Text="1" ReadOnly="true" />
Run Code Online (Sandbox Code Playgroud)
我希望保护上面的文本框不受用户输入的影响,但仍允许使用javascript更新该值.
这很好用,那么问题是什么?
问题
如果文本框是,disabled或者readonly更新的值在提交时不会发布到服务器!
题
如何创建可以同时进行的文本框:
对用户可见.
防止用户输入.
用javascript更新.
将更新的值发布到服务器.
回答
发生冲突是因为当您设置enabled="false"控件时,它不会将值传递给服务器.
但是,设置disabled或readonly客户端不会导致此问题.
您可以使用以下方法设置客户端属性:
在后面的代码:
txbx.Attributes.Add("ReadOnly", "ReadOnly")
txbx.Attributes.Add("disabled", "disabled")
Run Code Online (Sandbox Code Playgroud)
或者使用客户端控件并将它们设置为runat服务器:
<input type="text" id="txbx" readonly="readonly" runat="server" />
<input type="text" id="txbx" disabled="disabled" runat="server" />
Run Code Online (Sandbox Code Playgroud)
我曾经通过ReadOnly从代码隐藏设置属性来摆脱这种情况.你可以尝试一次.
txbx.Attributes.Add("ReadOnly", "ReadOnly");
Run Code Online (Sandbox Code Playgroud)
在您的Page_Load活动中添加此行代码.
请告知是否适合您.