自定义KeyDown控件

时间:2011-06-07 19:10:11

标签: c# asp.net

我是ASP.NET的新手,这是我的第一份工作,我需要表现良好。

我被困在这个搜索页面上,我有两个文本框。一个按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));

但我无法清除或隐藏文本框中按键的网格视图,我的老板说我需要创建一个自定义按键事件处理程序。我不知道怎么做。任何帮助都会受到赞赏,因为我真的需要在这份工作中表现出来。

2 个答案:

答案 0 :(得分: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));

答案 1 :(得分:0)

文本框不使用InnerText。尝试使用value属性。我认为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));