0

リンクボタンをクリックするとグリッドビュー行コマンドイベントが発生する更新パネル内にグリッドビューがあります。この行コマンド イベントで、ブートストラップ ポップアップを開き、更新パネルにもあるコード ビハインドから別のグリッドをバインドします。

問題は、グリッド ビューが行コマンド イベントを発生させ、データが正しくフェッチされてポップアップ グリッド ビューにバインドされますが、ポップアップには新しくバインドされたグリッド ビューのデータが表示されません。

更新パネルのトリガーも試しました 私のコードは私を助けてください、私は本当にこれで立ち往生しています、事前に感謝します

 <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
                        <ContentTemplate>
                            <asp:GridView ID="gvResponseList" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ListId"
                                Width="550px" AllowPaging="True" OnRowCommand="gvResponseList_RowCommand" CssClass="table table_standard_inbox table-striped table-bordered">
                                <Columns>
                                    <asp:TemplateField HeaderText="Response">
                                        <ItemTemplate>
                                            <asp:LinkButton class="popup" data-toggle="modal" ID="lnkbtnSelectAnswer" Visible='<%#Eval("ResponseTitle") != null %>' runat="server" Text="Choose From Previous Answer" CommandName="AddAnswerToTextBox" CommandArgument='<%# ((GridViewRow) Container).RowIndex %>'></asp:LinkButton>
                                            <br />
                                            <asp:TextBox ID="txtResponse" runat="server" TextMode="MultiLine" Height="60px" Width="400"></asp:TextBox>
                                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic"
                                                ValidationGroup="Submit" ControlToValidate="txtResponse" ErrorMessage="*"></asp:RequiredFieldValidator>
                                            <br />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                                <EmptyDataTemplate>
                                    <b>No record found</b>
                                </EmptyDataTemplate>
                            </asp:GridView>
                        </ContentTemplate>
                        <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="gvResponseList" EventName="RowCommand" />
                        </Triggers>
                    </asp:UpdatePanel>
<!-- Modal -->
            <div class="modal fade" id="divPreviousResponses" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                            <h4 class="modal-title">Prevoius Answers</h4>
                        </div>
                        <div class="modal-body">
                            <asp:GridView ID="gvSelectAnswer" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ListId"
                                Width="550px" AllowPaging="True" ItemType="TextualUserAnswersEntity" OnRowCommand="gvSelectAnswer_RowCommand" OnPageIndexChanging="gvSelectAnswer_PageIndexChanging">
                                <Columns>
                                    <asp:TemplateField HeaderText="Previous Response">
                                        <ItemTemplate>
                                            <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                                                <ContentTemplate>
                                                    <asp:Label ID="lblResponse2" runat="server" Text='<%#Eval("ResponseTitle") %>'></asp:Label>
                                                </ContentTemplate>
                                            </asp:UpdatePanel>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                                <EmptyDataTemplate>
                                    <b>No record found </b>
                                </EmptyDataTemplate>
                            </asp:GridView>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                        </div>
                    </div>
                    <!-- /.modal-content -->
                </div>
                <!-- /.modal-dialog -->
            </div>
            <!-- /.modal -->
4

1 に答える 1

0

この問題を次の方法で解決します: 1. gridView を、jQuery の dataTable lib によってフォーマットされた HTML テーブルとして表示します。このテーブルのデータは、サーバー側で Json として送信する必要があります。 2. テーブルの行をクリックしても Ajax を作成します。サーバー側を呼び出して、表示する必要がある他の情報を (Json として) 取得し、Bootstrap のモーダルの本体に解析します。これはすべて完全に機能し、重要なことは、現在実行しようとしている方法よりも速く機能することです。

于 2013-10-09T07:58:38.100 に答える