ASP.NET 2.0 - Enter Key - Default Submit Button


网页开发中最烦人的事情之一就是为表单处理"Enter key" ,"Enter key"已经成为用户提交表单的偏好。虽然我们为用户提供了提交按钮,但是最简单也是最直接的方式仍然是:输入文字,然后回车完成提交

  ASP.NET 2.0中为此提供了很好的解决方法。只需要将"defaultbutton"属性指定到想要引发事件的按钮控件的ID上就可以了。

  在表单级别和面板级别(<asp:panel> 标记)均可以指定"defaultbutton"。当表单和面板中同时指定了defaultbutton,则如果在面板中触发了"Enter key",则执行面板中的

  下面的实例代码中有一个表单和4个面板,报单和面板中都有按钮。情各位注意:在文本框中回车后会触发哪些按钮的事件

<form id="form1" runat="server" defaultbutton="btn1">
  
<div>
  
<asp:TextBox ID="txt" runat="server"></asp:TextBox>
  
<asp:Button ID="Button5" runat="server" Text="Cancel" OnClick="Button5_Click" />
  
<asp:Button ID="btn1" runat="server" Text="Submit" OnClick="btn1_Click" />
  
<asp:Panel ID="pnl1" runat="server" defaultbutton="Button1">
  
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
  
<asp:Button ID="Button1" runat="server" Text="Button1" OnClick="Button1_Click" />
  
</asp:Panel>
  
<asp:Panel ID="Panel1" runat="server" defaultbutton="Button2">
  
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
  
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
  
<asp:Button ID="Button2" runat="server" Text="Button2" OnClick="Button2_Click" />
  
</asp:Panel>
  
<asp:Panel ID="Panel2" runat="server" defaultbutton="Button3">
  
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
  
<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
  
<asp:Button ID="Button3" runat="server" Text="Button3" OnClick="Button3_Click" />
  
</asp:Panel>
  
<asp:Panel ID="Panel3" runat="server" defaultbutton="Button4">
  
<asp:TextBox ID="TextBox7" runat="server"></asp:TextBox>
  
<asp:TextBox ID="TextBox8" runat="server"></asp:TextBox>
  
<asp:Button ID="Button4" runat="server" Text="Button4" OnClick="Button4_Click" />
  
</asp:Panel>
  
</div>
  
</form>
  
The corresponding, sample events for the button clicks are
  
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(Button1.Text);
}
  
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write(Button2.Text);
}
  
protected void Button3_Click(object sender, EventArgs e)
{
Response.Write(Button3.Text);
}
  
protected void Button4_Click(object sender, EventArgs e)
{
Response.Write(Button4.Text);
}
  
protected void btn1_Click(object sender, EventArgs e)
{
Response.Write(btn1.Text);
}
  
protected void Button5_Click(object sender, EventArgs e)
{
Response.Write(Button5.Text);
}

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3