我已将文本框设置为只读。当用户单击它时,会显示一个日历,并且用户选择输入到只读文本框中的日期。
但是当我尝试将数据输入数据库时,它显示空值。怎么了?
Readonly
当涉及到 ASP.NET属性和readonly
HTML 输入元素的属性时,有一点奇怪。与其设置 Web 控件的属性,不如Readonly
尝试简单地将 HTML 属性添加到控件,如下所示:
textBox.Attributes.Add("readonly", "readonly");
这将使该控件在客户端浏览器中为只读,但仍允许您在输入回发到服务器时检索输入的值。
系统假定只读或禁用控件不会在客户端更改,因此它不会将更改的值发布回服务器。您需要设置客户端只读属性而不是服务器端版本。
ASP.NET 假定 Web 控件的 Readonly 和 Enabled="false" 属性不会改变。因此,它不会回发上面汤姆提到的值。您可以使用此解决方法。将此添加到 html 中,您不必担心 Readonly 属性或禁用控件。
onkeydown="return false;"
或者您可以将 ASP 文本框替换为带有 runat="Server" 的输入类型文本,然后将只读属性添加为只读。检查链接