ASP.NET 在中继器上使用 asp:button 检索值

ASP.NET Retrieve value using asp:button on Repeater

我有一个table,它使用中继器来显示数据。在每一行上都有一个 'Delete' 按钮,单击该按钮将从所选行中检索 'ClassId',这将在 SQL DELETE 查询中使用。

我不知道如何从所选行中获取 'ClassId'。

转发器的代码片段:

<ItemTemplate>
<tr>

   <td>
    <asp:Label runat="server" ID="LblTitle"Text='<%# Eval("ClassId")%>' />
   </td>

   <td>
     <asp:Label runat="server" ID="LblEmail" Text='<%# Eval("StartTime")%>' />
   </td>

   <td>
      <asp:Label runat="server" ID="Label4" Text='<%# Eval("EndTime")%>' />
  </td>

  <td>
     <asp:Label runat="server" ID="Label1" Text='<%# Eval("ClassDate")%>' />
  </td>

   <td>
    <asp:Label runat="server" ID="Label2" Text='<%# Eval("BuildingName")%>' />
  </td>

  <td>
    <asp:Label runat="server" ID="Label3" Text='<%# Eval("RoomCode")%>' />
  </td>

   <td>
   <asp:Button ID="deleteBtn" runat="server" OnClick="deleteBtn_Click" class="btn btn-danger" 
    CommandArgument='<%# Eval("ClassId") %>'Text="Delete" />
  </td>

</tr>
</ItemTemplate>

.cs 页面上的代码:

protected void deleteBtn_Click(object sender, EventArgs e)
{
     //SQL Delete query goes here using the ClassId to delete the row
}

您正在 CommandArgument 中传递 ClassId,从那里获取它。

protected void deleteBtn_Click(object sender, EventArgs e)
{
     //SQL Delete query goes here using the ClassId to delete the row
     var classid = ((Button)sender).CommandArgument;
}