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>

ここで、ユーザーが特定の行でclientnameのリンクボタンをクリックしたときに、対応するcustomerid(変数に仮定)を行から取得したいと思います。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 に答える