在ASP.NET中前端设置控件TextBox的属性为Readonly="True"时,如果之前有设定初始值,或通过JS方式给其赋值后,在后台访问其Text值却无法获取,这种问题的解决方式有三种。
一、使用JS方式实现禁止编辑的目的
具体方法见我另外一篇博文(法三和法四):https://www.cnblogs.com/HymanWesteros/p/12118990.html
二、后台通过Request来取值
前端代码:
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>
后台代码:
string Text = Request.Form["TextBox1"].Trim();
三、在后台设置ReadOnly属性
一般而言,在初始化页面Page_Load()方法中设置控件的属性即可,与在前端设置的效果一致,但是在后台也可以读取数据。
前端代码:
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
后台代码:
TextBox1.Attributes.Add("readonly","true");