首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 2.0 表單 Enter 鍵自動送出完整解決方案:DefaultButton 屬性與 Panel 範圍控制

     編輯:關於ASP.NET

使用者習慣在輸入完畢按 Enter 送出表單,ASP.NET 2.0 內建 DefaultButton 屬性完美解決此需求,無需 JavaScript。

核心機制

  • <form> 層級設定 defaultbutton:整張頁面的預設送出按鈕
  • <asp:Panel> 設定 defaultbutton:限定該面板內輸入框的 Enter 行為
  • 面板與表單同時設定時,面板優先級較高

完整範例:一個表單、四個面板、六個按鈕

<form id="form1" runat="server" defaultbutton="btn1">
    <asp:TextBox ID="txt" runat="server" />
    <asp:Button ID="Button5" Text="Cancel" OnClick="Button5_Click" />
    <asp:Button ID="btn1" Text="Submit" OnClick="btn1_Click" />

    <asp:Panel ID="pnl1" runat="server" defaultbutton="Button1">
        <asp:TextBox ID="TextBox1" />
        <asp:TextBox ID="TextBox2" />
        <asp:Button ID="Button1" Text="Button1" OnClick="Button1_Click" />
    </asp:Panel>

    <asp:Panel ID="Panel1" runat="server" defaultbutton="Button2">
        <asp:TextBox ID="TextBox3" />
        <asp:TextBox ID="TextBox4" />
        <asp:Button ID="Button2" Text="Button2" OnClick="Button2_Click" />
    </asp:Panel>
    <!-- Panel2、Panel3 同理 -->
</form>

後置程式碼事件處理

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); }

測試時在不同面板的文字方塊按 Enter,觀察觸發哪個按鈕事件,即可驗證範圍控制邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved