jquery文本框的性能问题改变了ajax回发

时间:2012-02-13 17:30:51

标签: c# jquery asp.net ajax

我想在用户更改文本框时更新SQL,但我担心的是更新它每个字符按下每次都会发送一个SQL UPDATE命令,如果用户可能甚至同时发送正在快速打字。

是什么类型的最佳实践方法,以便我只发布更新的文本框,比如可能,2秒后用户不再更新文本框?

可能是文本框的keyup事件绑定的一些变体,并使用settimeout和cleartimeout来完成它?

3 个答案:

答案 0 :(得分:1)

您可以使用TextBox离开事件。做完事后。 Textbox Leave

private void textBox1_Leave(object sender, System.EventArgs e)
{
  string StrSql = Textbox1.Text; // your sql queries goes here
  using(SqlConnection con = new SqlConnection(Constr))
  {
    SqlCommand cmd = new SqlCommand(strSql, con); 
    cmd.ExecuteNonQuery();  
  }

}

答案 1 :(得分:0)

每次文本框中发生更改时,您都可以采用Google文档方法并重新启动计数器。如果5秒内没有变化,则更新/保存

答案 2 :(得分:0)

是否必须绑定到keyup事件?

你也可以开一个 - >焦点,然后设置可能是2秒的间隔SQL更新,然后在模糊/函数将停止。

通过这种方式,您不会在每个关键事件上发出请求。