2011-08-22 52 views
3

在我的ASP.Net應用程序中,有一個文本框從CalendarExtender獲取日期。當文本框被填充時,它會在表單上的另一個日期上檢查該日期,並在日期錯誤時顯示modalpopupextender彈出窗口。但是,我不希望允許用戶輸入此文本框,因此,當我將ReadOnly字段設置爲false並嘗試Enabled爲false時,它不允許手動輸入,但它也禁用了回發並且不會將TextChanged事件調用爲發射modalpopupextender。 那麼有沒有辦法禁用手動輸入,而不是將其設置爲ReadOnly禁用一個ASP.net文本框而不實際禁用它?

+0

什麼是enabled = true和readonly = true yield? –

+0

enabled = true和readonly完成同樣的事情,都禁止用戶輸入任何東西到現場。這是我想要的,但這樣做將禁用modalpopup擴展 – mattgcon

回答

14

我想通了,只需輸入onkeypress =「return false;」在HTML標籤內

+0

檢查作爲答案:) –

+0

謝謝+1,工作正常 – Eldho

+0

謝謝,與此我仍然可以刪除日期退格 – kite

0

我並不熟悉您使用的確切組件,但通常的做法如下所示。選擇日曆上的日期修改隱藏表單域的值。這將限制用戶直接編輯該值。然後創建另一個元素,如div或span,並使用javascript將span/div更新爲日曆上選定的值。

5

試試這個

<asp:textbox id="txt1" onfocus="blur()" runat="server"/> 

這爲我工作。

0

添加下面的屬性在文本框的標籤

的onkeydown = 「返回false」 onpaste = 「返回false」

例如:

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

第一屬性塊打字文本框和粘貼在其中的第二個屬性塊