3

ASP.NET 4 Web サイトで

ajaxアコーディオンヘッダーがクリックされたときにサーバー側のC#関数を起動し、ヘッダーデータ値を関数に渡す必要があります。アコーディオンはデータベースから入力されます。C# 関数を呼び出すイベントを作成するにはどうすればよいですか?

<ajaxToolkit:Accordion ID="acc1" runat="server" Width="300px" 
     HeaderCssClass="accHeader" ContentCssClass="accContent" CssClass="accMain"
     FadeTransitions="true" SuppressHeaderPostbacks="false" TransitionDuration="250" RequireOpenedPane="false"
     HeaderSelectedCssClass="accSelHeader" FramesPerSecond="40">
        <HeaderTemplate><b><%#DataBinder.Eval(Container.DataItem, "CompanyName") %></b></HeaderTemplate>
        <ContentTemplate>
        <%#DataBinder.Eval(Container.DataItem, "CompanyName") %><br />
        <%#DataBinder.Eval(Container.DataItem, "Street")%><br />
        <%#DataBinder.Eval(Container.DataItem, "City")%><br />
        <%#DataBinder.Eval(Container.DataItem, "StateOfFacility")%><br />
        <%#DataBinder.Eval(Container.DataItem, "ZipCode")%><br />
        <%#DataBinder.Eval(Container.DataItem, "Phone")%><br />
        <%#DataBinder.Eval(Container.DataItem, "URL")%><br />
        </ContentTemplate>
 </ajaxToolkit:Accordion>
4

1 に答える 1

1

以下のようにヘッダーで LinkBut​​ton を使用し、Accordion の ItemCommand イベントを処理します。

 <HeaderTemplate>
      <asp:LinkButton runat="server" Text='<%# Eval("CompanyName") %>'  
           CommandName="Select" CommandArgument='<%# (int)Eval("Id")  %>' />
 </HeaderTemplate>

void acc1_ItemCommand(object sender, CommandEventArgs e)
{
    if (e.CommandName == "Select")
    {
        var companyId = e.CommandArgument;
    }
}

クリックされた会社のペインを区別するために、会社の一意の識別子を提供する必要があることに注意してください。

于 2012-11-05T08:28:36.927 に答える