2016-05-10 17 views
0

コードリストのbinddataを持つデータリストがあり、各アイテムにajax modalpopupextenderを追加しようとしています。このmodalpopupは、ターゲットコントロールのIDが常にページの最後にある同じボタンであるという問題を抱えて、右パネルを開く必要があります。データリスト内のチェックされたラジオボタンからModalPopupExtenderを開きます

ラジオボタンが選択されていますが、それに相当するmodalpopupを開くことができません。常に最初のパネルを開きます。

誰でも手伝ってもらえますか?これも可能ですか?

C#

protected void btnValidateGift_Click(object sender, EventArgs e) 
    { 
     if (Request.Form["gift"] != null) 
     { 

     } 
    } 

のaspx

<asp:DataList ID="datalistReward" runat="server" RepeatDirection="Vertical" RepeatColumns="3" CssClass="datalistGift"> 
    <ItemTemplate> 
     <div class="giftDiv"> 
      <div class="giftTitle"> 
       <%# DataBinder.Eval(Container.DataItem, "name") %> 
      </div> 
      <div> 
       <img width="60%" src="img/brindes/<%# DataBinder.Eval(Container.DataItem, "img") %>.png" /> 
      </div> 
      <div id="divRadioBtnGift" runat="server" style="width: 10%; margin: auto;"> 
       <input type='radio' id='radioBtnGift_<%# DataBinder.Eval(Container.DataItem, "value") %>' 
        name='gift' value='<%# DataBinder.Eval(Container.DataItem, "id") %>' /> 
      </div> 
     </div> 
     <asp:ModalPopupExtender ID="ModalPopUpReward" BehaviorID="modalBehaviorPopupReward" runat="server" PopupControlID="panelSelectReward" 
      CancelControlID="btnCloseReward" BackgroundCssClass="modalBackground" TargetControlID="btnValidateGift" /> 
     <asp:Panel ID="panelSelectReward" runat="server" CssClass="modalPopup" align="center" Style="display: none"> 
      <div style="background-color: aqua; border: 1px solid red;"> 
       <img width="60%" src="img/brindes/<%# DataBinder.Eval(Container.DataItem, "img") %>.png" /> 
       <asp:ImageButton ID="btnCloseReward" runat="server" Text="Close" OnClientClick="CloseModalPopUp()" /> 
      </div> 
     </asp:Panel> 
    </ItemTemplate> 
</asp:DataList> 

<asp:Button ID="btnValidateGift" Text="Validar >" runat="server" CssClass="divButton" OnClick="btnValidateGift_Click" /> 

EDIT1:私は "、この<%#DataBinder.Eval(Container.DataItemのようなパネルのIDにカスタム文字列を追加しようとしましたid ")%>しかし、これはコンパイルされません。この仕事をするチャンスはありますか?

答えて

2

サーバー側のOnClickイベントを使用すると、ポップアップが表示されます。これは、ページレンダリング中に評価された最初の(または最後の)データを表示するだけです。

ModalPopupのコンテンツを変更するには、OnClientClickイベント+非同期呼び出しを使用して、必要なデータをポップアップに入力する必要があります。 ModalPopupでクライアントイベントを使用する Here is the example

+1

これは私が見つけた解決策に非常に似ています。そして、それは動作します。 お返事いただきありがとうございます。 – Lucky

関連する問題