1

我正在将转发器控件与 c# 属性绑定,如下所示

  <asp:Repeater ID="repeaterInvoicesPaid"    OnItemCommand="ClientNameClicked" runat="server">
               <HeaderTemplate>
            <table id="PaidInvoicesTable" cellspacing="0" cellpadding="0" style="width: 100%; font-size: 11px; border-right-width: 0; border-bottom-width: 0;"
            class="dxgvControl grid dxgvTable">
                    <thead>
                        <tr>
                            <td style="width: 150px;" class="dxgvHeader">Invoice #
                            </td>
                            <td style="width: 150px;" class="dxgvHeader">Client Name
                            </td>


                        </tr>
                    </thead>
              <tbody>
            </HeaderTemplate>

            <ItemTemplate>
                <tr class="dxgvDataRow">
                    <td class="dxgv">
                    <asp:Label ID="lblInvoiceID" Text='<%#Eval("InvoiceID")%>' runat="server" /> 
                    </td>
                    <td class="dxgv">
                   <asp:LinkButton ID="btnClientName"  CommandName="Click"  Text='<%#Eval("customer.FirstName")%>' runat="server"/>

                    </td>


                        <td class="dxgv">

           <asp:Label ID="lblCustomerid"   Visible="false"  Text=' <%#Eval("Customerid") %>' runat="server" />

          </td>
                </tr>
            </ItemTemplate>

   <FooterTemplate>

            </tbody> 
       </table>
        </FooterTemplate>
        </asp:Repeater>

现在,当用户单击特定行的客户端名称的链接按钮时,我想从行中获取相应的客户 ID(假设为变量)。在 C# ClientNameClicked 事件中,我该如何获取它?

C#代码:

  protected void ClientNameClicked(object sender ,   RepeaterCommandEventArgs e)
    {
       switch(e.CommandName)
       {
           case "Click":
           break;
    }
    }

请帮忙。提前致谢。

4

1 回答 1

1

您的链接按钮应如下所示

在中继器 ItemCommand 甚至使用下面的代码:

<asp:LinkButton ID="btnClientName"  CommandName="Click" CommandArgument='<%#Eval("Id")' Text='<%#Eval("customer.FirstName")%>' runat="server"/>

protected void ItemCommand(object sender ,   RepeaterCommandEventArgs e)
{
    switch(e.CommandName)
    {
       case "Click":
          var i  = Convert.ToInt32(e.CommandArgument); // You can get the Id 
       break;
    }
}
于 2012-10-27T07:11:36.353 回答