ASP.NET使用Repeater上的asp:按钮检索值

时间:2017-04-20 20:22:32

标签: asp.net repeater

我有一张表,它使用转发器来显示数据。在每一行上都有一个“删除”按钮,单击该按钮将从所选行中检索“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
}

1 个答案:

答案 0 :(得分:2)

你在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;
}