繁体   English   中英

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

[英]How to make textbox as not editable in asp.net(c#)

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

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

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

来自MSDN,

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

这就是为什么具有服务器端readonly属性的文本框在回发中具有空值。

您可以使用TextBox1.Enabled = false; 要么

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

区别在于,如果你使enabled= false那么你不能传递textbox的值。 如果你需要传递的值textbox ,那么你应该使用的只读属性textbox

在代码隐藏文件的页面加载事件上只需编写以下代码:

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

你也可以通过使用财产来做同样的事情

Enabled="false"

在您的aspx页面上,但是您将无法在页面后面的代码中访问它的值。

你可能想用这个

   TextBox1.Enabled = false;

您可以在asp.net中使textBox不可编辑

通过使用只读它会在post back上给出这个java脚本属性的问题

onkeydown =“javascript:return false”

通过使用这个你可以拥有像readonly这样的属性,并且绝对没有问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM