在aspx页面有textbox文本框,还有三个button按钮。我写了textbox的TextChanged事件和button按钮的Click事件。
    现在我在textbox文本框输入完数据按“回车”后,会触发TextChanged事件,但同时还会触发该页面第一个button按钮的Click事件,请问这是怎么回事啊?
    要怎么样设置才能使得执行在textbox文本框输入完数据按“回车”后,只执行TextChanged时间而不出发button按钮的Click事件?
    附加TextChanged事件代码:
private void TBxm_TextChanged(object sender, System.EventArgs e)
{
string xm=TBxm.Text.Trim();
PubF.DBOpen();
//提取业主房间资料
string sql_lfda="select xqmc,lybh,fjh as fh from khgl_yzda where xm='"+xm+"'";
OleDbCommand cmd=new OleDbCommand(sql_lfda,PubF.cn);
OleDbDataReader dt=cmd.ExecuteReader();
if(dt.Read())
{
DDLxqmc.SelectedValue=dt["xqmc"].ToString();
TBlybh.Text=dt["lybh"].ToString();
TBfh.Text=dt["fh"].ToString();
}
dt.Close();
                           PubF.DBClose();
}

解决方案 »

  1.   

    页面得 默认 焦点是再 BUTTON上得 你可以让你得 TEXTBOX默认获得焦点 用JAVASCRIPT
      

  2.   

    textbox AutoPostBack="true"
      

  3.   

    textbox AutoPostBack 已经是true了,但还是会出发Click。
    “你可以让你得 TEXTBOX默认获得焦点 用JAVASCRIPT”
    这个脚本要怎么写?
      

  4.   

    好像没有你说的情况啊
    <%@ Page Language="C#" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">  protected void TextBox1_TextChanged( object sender, EventArgs e )
      {
        Response.Write("a");
      }  protected void Button1_Click( object sender, EventArgs e )
      {
        Response.Write("b");
      }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <body>
      <form id="form1" runat="server">
      <asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True" OnTextChanged="TextBox1_TextChanged"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"  OnClientClick="alert()" />
      </form>
    </body>
    </html>
      

  5.   

    TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13) this.focus()");
      

  6.   

    TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13) this.focus()");
    这句放在什么位置啊?
      

  7.   

    我把TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13) this.focus()");放在
    private void Page_Load(object sender, System.EventArgs e)
    {}
    里还是不行哦
      

  8.   

    AutoPostBack="true"
    使得内容更改后自动产生向服务器的回发
      

  9.   

    孟子,你上面写的测试代码,都是写在aspx文件里的吧?我的事件代码是在.cs文件里的。在textbos里输入完内容后按回车就会同时除法textchanged事件和click事件
      

  10.   

    TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13) {this.blur();return false}");
      

  11.   

    孟子,TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13) {this.blur();return false}");
    这段代码放在哪个位置啊?是在页面加载函数里吗?
      

  12.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    TextBox1.Attributes.Add("onkeydown","if(event.keyCode==13) {this.blur();return false}");
    }
    private void Button1_Click(object sender, System.EventArgs e)
    {
    Response.Write("Button");
    }
    private void TextBox1_TextChanged(object sender, System.EventArgs e)
    {Response.Write(TextBox1.Text);}
      

  13.   

    客户端ID.focus()
    or
    设置tabIndex 属性