首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET Repeater 獲取當前行 CustomerID:CommandArgument 傳遞主鍵

     編輯:程式設計綜合問答

前端綁定主鍵

<asp:LinkButton ID="LinkButton2" runat="server"
    CommandArgument='<%# Eval("CustomerID") %>'
    OnCommand="LinkButton2_Command">更改組別</asp:LinkButton>
  • 使用 `CommandArgument` 綁定 `CustomerID`。
  • 事件改為 `OnCommand`(而非 `OnClick`/`OnClientClick`)。

後端處理

protected void LinkButton2_Command(object sender, CommandEventArgs e) {
    string customerId = e.CommandArgument.ToString();
    // 根據 customerId 查詢數據庫、彈窗、更新邏輯...
    // 示例:打開模態對話框
    ScriptManager.RegisterStartupScript(this, GetType(), "openModal",
        $"showEditDialog('{customerId}');", true);
}

關鍵點

  • `CommandEventArgs.CommandArgument` 直接獲取綁定的字符串值,無需在 `ItemTemplate` 中查找控件。
  • 避免使用 `OnClientClick` 返回 `false` 阻止回發,配合 `Command` 事件可同時執行客戶端彈窗與服務端邏輯。
  • 若需多參數,`CommandArgument` 可存 JSON 或 `;` 分隔字符串,後端解析。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved