如何使文本框在asp.net中不可编辑(c#)

sou*_*ndy 6 c# asp.net html5

我正在创建一个ASP Web应用程序,在该应用程序中,一个表单必须更新文本框字段中的日期值,我将日历按钮放在该文本框附近.它可以更新该文本框字段中的日期但可编辑.我想通过仅使用日历按钮更新日期值,我使用只读属性但返回空值,因此不起作用.

emr*_*azi 10

尝试客户端html readonly属性而不是ASP.NET服务器端readonly.

myTextBox.Attributes.Add("readonly", "readonly");
Run Code Online (Sandbox Code Playgroud)

来自MSDN,

将ReadOnly属性设置为true的TextBox控件的Text值在发生回发时发送到服务器,但服务器不对只读文本框进行处理.这可以防止恶意用户更改只读的Text值.除非由服务器端代码修改,否则Text属性的值将保留在回发之间的视图状态中.

这就是具有服务器端readonly属性的文本框在回发中具有空值的原因.


Lea*_*ing 5

您可以使用 TextBox1.Enabled = false;OR

TextBox1.Attributes.Add("readonly","readonly");

不同之处在于,如果你 makeenabled= false那么你不能传递textbox. 如果您需要传递 的值,textbox则应使用 的只读属性textbox