禁用ASP.net文本框而不实际禁用它?

时间:2011-08-22 00:39:34

标签: asp.net textbox

在我的ASP.Net应用程序中,有一个文本框可以从CalendarExtender获取日期。填充文本框时,它会在表单上检查该日期与另一个日期,并在日期错误时显示modalpopupextender弹出窗口。但是,我不想允许用户输入到此文本框中,因此当我将ReadOnly字段设置为false并将Enabled设置为false时,它不允许手动输入,但它也禁用了回发并且不会调用TextChanged事件来触发modalpopupextender。 那么有没有办法禁用手动输入而不将其设置为ReadOnly

4 个答案:

答案 0 :(得分:14)

我想通了,只需输入onkeypress =“return false;”在HTML标记内

答案 1 :(得分:5)

试试这个

<asp:textbox id="txt1" onfocus="blur()" runat="server"/>
这对我有用。

答案 2 :(得分:0)

我不熟悉您使用的确切组件,但是通常的方法是完成以下操作。选择日历上的日期修改隐藏表单字段的值。这将限制用户直接编辑值。然后创建另一个元素,如div或span,并使用javascript将span / div更新为在日历上选择的值。

答案 3 :(得分:0)

在文本框

的标记中添加以下属性

onkeydown =&#34;返回false&#34; onpaste =&#34;返回false&#34;

例如:

<asp:TextBox ID="TillDate_TextBox" runat="server" onkeydown="return false" onpaste="return false"></asp:TextBox>

在文本框中键入的第一个属性块和粘贴在其中的第二个属性块