我按ENGTER会执行一个按扭的事件,见鬼了!

解决方案 »

  1.   

    每次按下Enter的时候,当前页都会重新刷新一次,也就是执行一次PageLoad事件,检查一下PageLoad事件里的代码看看,或是设个断点看看是什么问题
      

  2.   

    这个问题是和IE的特性相关的。在IE浏览器中,如果TextBox中有光标,也就是它获得了焦点, 这个时候我们按下回车,IE会产生两种不同的Post操作。如果页面中同一个Form中只包含一个TextBox, 则IE Post的数据中不会包含任何的和Button相关的信息。自然,在ASP.NET中,也就不会在Server端触发Button 的Click事件。如果页面中包含多于一个TextBox, 则IE会在浏览器端自动click同一个Form中的第一个Button, 同时,post到Server端的数据中也包含该button的相关信息,ASP.NET会在Server端自动调用该ServerControl中IPostBackEventHandler接口中的方法。这样,建议您采用下面方法达到您的目的:1. 在您的Form中,加入一个隐藏的TextBox.注意:不要再Properties Browser中把Visible设置为false, 在声明TextBox的地方,加入 style="visibility:hidden;...".2. 您可以使用TextBox德Change事件,不过这样有限制。3。加入下面的代码:<script runat=server language=c#>
    public void button1_click (Object s, EventArgs e)  {
                Response.Write("click");
    }function clickButton() {
                if (event.keyCode == 13)  {
                            document.form.button1.click();
                            return false;
                }
    }
    </script><form runat=server id=form >
                <input type=text id="textbox1" runat=server  onkeypress="return(clickButton());">
                <input type=submit id="button1" runat=server  OnServerClick=button1_click>
    </form>
      

  3.   

    这个问题是和IE的特性相关的。在IE浏览器中,如果TextBox中有光标,也就是它获得了焦点, 这个时候我们按下回车,IE会产生两种不同的Post操作。如果页面中同一个Form中只包含一个TextBox, 则IE Post的数据中不会包含任何的和Button相关的信息。自然,在ASP.NET中,也就不会在Server端触发Button 的Click事件。如果页面中包含多于一个TextBox, 则IE会在浏览器端自动click同一个Form中的第一个Button, 同时,post到Server端的数据中也包含该button的相关信息,ASP.NET会在Server端自动调用该ServerControl中IPostBackEventHandler接口中的方法。这样,建议您采用下面方法达到您的目的:1. 在您的Form中,加入一个隐藏的TextBox.注意:不要再Properties Browser中把Visible设置为false, 在声明TextBox的地方,加入 style="visibility:hidden;...".2. 您可以使用TextBox德Change事件,不过这样有限制。3。加入下面的代码:<script runat=server language=c#>
    public void button1_click (Object s, EventArgs e)  {
                Response.Write("click");
    }function clickButton() {
                if (event.keyCode == 13)  {
                            document.form.button1.click();
                            return false;
                }
    }
    </script><form runat=server id=form >
                <input type=text id="textbox1" runat=server  onkeypress="return(clickButton());">
                <input type=submit id="button1" runat=server  OnServerClick=button1_click>
    </form>