2016-05-24 17 views
0

私は、databind()レコード数に基づいてエントリを動的に作成しています。 私はハンドラをアタッチして、ボタンをクリックしたときにC#コードでアクションを呼び出そうとしています。 PersonIdの隠しフィールドに保存されているIDで削除する必要があります。ここ は、アコーディオンの定義です:あなたは、削除したい人を選択する方法を持っている必要がありますAJAX ASP .NETアコーディオンボタンアクション

int group = Convert.ToInt32(Session["group"]); 

    //get list of current drivers 
    Persons[] persons= Person.Search(group); 

    PersonAccordion.DataSource = persons; 
    PersonAccordion.DataBind(); 

答えて

0

:ここ

<asp:Accordion ID="PersonAccordion" runat="server" 
     > 
     <HeaderTemplate> 
      <div class="row"> 
       <div> 
        <asp:HiddenField ID="PersonId" runat="server" /> 
        <asp:Button ID="btnPersonDelete" runat="server" Text="Delete Person" /> 
       </div> 
      </div> 
     </HeaderTemplate> 
     <ContentTemplate> 
      <div class="row"> 
       <div id="PersonDetails" runat="server"> 
        <div class="row"> 
         <div class="col c1-2"> 
          <label class="txt-right c1-2">Name</label> 
          <div class="input-txt"> 
           <asp:TextBox ID="Name" runat="server"></asp:TextBox> 
          </div> 
         </div> 
        </div> 
       </div> 
      </div> 
     </ContentTemplate> 
    </asp:Accordion> 

は、背後にあるコードです。おそらく、これを行う最良の方法は、クリックされた名前にスタイルクラスを適用し、アコーディオンの残りのアイテムに異なるクラスを適用するJavaScriptスクリプトをHTMLに持たせることです。同時に、このスクリプトは、クリックされた項目のIDを隠し人物IDフィールドに入れることができます。アコーディオンアイテムのテンプレートでは、このスクリプトをアイテムのクリックイベントのハンドラとして配置します。