2011-06-07 59 views
0

我對ASP.NET很新,這是我的第一份工作,我需要表現良好。自定義KeyDown控件

我被困在這個搜索頁面上,我有兩個文本框。一個是通過ID來搜索的,這個ID是int,第二個是姓氏。搜索到的都會填充網格視圖。按照用戶輸入姓氏並點擊搜索時的要求,網格視圖應該填充我工作的內容。現在,如果用戶統計在ID搜索文本框中鍵入姓氏搜索文本框應該清除以及已經填充的網格視圖應該隱藏。

我實現清除文本框中使用

txtSNumberSearch.Attributes["onKeyDown"] = "clearTextBox(this.id)"; 

txtSNumberSearch.Attributes.Add("onKeyDown", string.Format("document.getElementById('{0}').innerText='';", txtLastNameSearch.ClientID)); 

txtLastNameSearch.Attributes.Add("onKeyDown", string.Format("document.getElementById('{0}').innerText='';", txtSNumberSearch.ClientID)); 

但我不能夠清除或隱藏按鍵網格視圖在文本框中下來,我的老闆說我需要創建一個自定義鍵按下事件處理程序。我不知道怎麼做。任何幫助將不勝感激,因爲我真的需要執行這項工作。

+0

你爲什麼必須在客戶那邊做?您可以輕鬆地在文本框的[TextChanged-Events](http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.textbox.textchanged.aspx)上的服務器端執行此操作。 – 2011-06-07 19:22:10

+0

@Tim Schmelter - 它更高效,因爲每次文本更改都不需要服務器往返。如果出於安全原因需要隱藏它,並且不希望它再次輕鬆顯示,可以使用服務器端。 – keyboardP 2011-06-07 19:24:00

+0

@keyboardP:如果您需要執行搜索,則無論如何您都必須進行往返。之後,您還可以清除其他文本框。 – 2011-06-07 19:26:58

回答

0

文本框不使用InnerText。嘗試使用值屬性。 Keydown我覺得很好。

試試這個。

txtSNumberSearch.Attributes["onKeyDown"] = "clearTextBox(this.id)"; 

txtSNumberSearch.Attributes.Add("onKeyDown", string.Format("document.getElementById('{0}').value='';", txtLastNameSearch.ClientID)); 

txtLastNameSearch.Attributes.Add("onKeyDown", string.Format("document.getElementById('{0}').value='';", txtSNumberSearch.ClientID)); 
+0

非常感謝您的好友!完美工作... – 2011-06-14 19:02:28

+0

如果確實如此,請考慮將您的投票和標記作爲答案。 – SaravananArumugam 2011-06-14 19:16:09

2

隱藏GridView的一個簡單的方法是通過簡單地增加它到標準div和隱藏了。

<div id="divGV"> 
    <asp:GridView>... 
</div> 

您可以通過在JavaScript做這個隱藏div

document.getElementById("divGV").style.display='none';" 

你已經有了一個處理程序添加txtLastNameSearch,所以你可以做這樣的事情:

txtLastNameSearch.Attributes.Add("onKeyDown", string.Format("document.getElementById('{0}').value=''; 
document.getElementById("divGV").style.display='none';", txtSNumberSearch.ClientID)); 
+0

您可能需要考慮使用文本框的.value屬性而不是innerText。 – Jay 2011-06-07 19:25:05

+0

@Jay - 是的,我會改變它。我只是複製/粘貼他所說的現有代碼,但「價值」會更好。 – keyboardP 2011-06-07 19:25:59

+0

很好..謝謝兄弟 – 2011-06-14 19:02:51