在asp中使用__doPostBack进行回发以过滤网格

时间:2015-04-20 05:50:15

标签: javascript c# jquery asp.net gridview

我正在向asp网格添加过滤器。我成功地在标题中显示了一个用于过滤的文本框 每当用户按下文本框中的输入键时,我都需要触发服务器代码进行过滤 所以我开始添加像

这样的事件
txtFilter.Attributes.Add("onkeyup", keyUpScript);

然后我添加了客户端脚本

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "registerkeyUPScript", registerkeyUPScript, true);

其中

string keyUpScript = "keyUPScript(event);";

string registerkeyUPScript = "function keyUPScript(e){\n" 
                                        + "var unicode=e.keyCode? e.keyCode : e.charCode;\n" 
                                        + "if(unicode == '13')\n" 
                                            +"{\n"
                                                +" //PostBack code"
                                            +"}"
                                        +"}";

现在,当用户在文本框中输入字符串并按下回车键时,我怎么能回发。我还需要将过滤后的数据重新绑定回网格

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用此行代码将onkeyup附加到TextBox,以便仅在按下Enter时触发回发事件。此外,如果您想为该特定TextBox附加OnTextChanged事件,您可以执行此操作,并且在页面回发时也会调用该事件。

Page_Load事件中使用此功能:

TextBoxID.Attributes.Add("onkeyup", "return (event.keyCode==13);");

这是OnTextChanged事件,以防您要附加:

protected void T1_TextChanged(object sender, EventArgs e)
{
    //your logic goes here
}

希望这有帮助。