发现 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>