发现 ASP.Net 的一个关于"回车提交"的 Bug ? 必须多于一个 Text 域"回车提交",Server: ButtonX_Click 才能截获!

ASP.Net 中:
如果 Text 类型的域只有一个,此时按下回车提交,WebServer 端 ButtonX_Click 竟然截获不到,只能在 WebServer 端 Page_Load 里截获,与传统的 Web Form 提交到 Action CGI 没区别了!
假如 Text 类型的域多于一个,此时按下回车提交,在 WebServer 端 ButtonX_Click 可以截获!

Test.aspx

<html>
 <script language="C#" runat=server>
  void Button1_Click(object sender, EventArgs e)
  {
   //如果 Text 类型的域只有一个,此时按下回车提交,在 WebServer 端 ButtonX_Click  竟然截获不到
   Label1.Text = "刚才您输入了: " + TextBox1.Text;
  }
  void Page_Load(object sender, EventArgs e)
  {
   //如果 Text 类型的域只有一个,此时按下回车提交,在 WebServer 端 ButtonX_Click 竟然截获不到,只能在 WebServer 端 Page_Load 里截获
   //Button1_Click(null,null);
  }
 </script>
 <body>
  <form runat="server" EnableViewState="False">
   ASP.Net 中:
   <BR>如果 Text 类型的域只有一个,此时按下回车提交,WebServer 端 ButtonX_Click 竟然截获不到,只能在 WebServer 端 Page_Load 里截获:<BR>
   asp:TextBox1:<BR>
   <asp:TextBox id="TextBox1" runat="server" Text="asp:TextBox" />填写完毕后请按下回车提交 注意 与 点击 Submit 按钮的效果的不同<BR>
   假如去掉下面的 Text 类型的域,这样只有一个 Text 类型的域,此时按下回车提交,在 WebServer 端 ButtonX_Click 竟然截获不到,只能在 WebServer 端 Page_Load 里"截获"处理! 与传统的 Web Form Action CGI 没区别了<BR>
   假如 Text 类型的域多于一个,此时按下回车提交,在 WebServer 端 ButtonX_Click 可以截获<BR>
   HTML FORM INPUT:<BR>
   <INPUT TYPE="text" VALUE="HTML INPUT" disabled="disabled">
   <asp:button id="Button1" text="submit" OnClick="Button1_Click" runat="server" />
   <BR>
   <asp:Label id="Label1" runat="server" />
  </form>
 </body>
</html>

posted @ 2005-01-23 20:49  于斯人也  阅读(172)  评论(0编辑  收藏  举报