модал jquery не отображается с главной страницей asp.net - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь отобразить модальное всплывающее окно jquery, используя следующий код:

 protected void gvGroupSummary_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            try
            {
                int index = Convert.ToInt32(e.CommandArgument);
                if (e.CommandName.Equals("detail"))
                {
                    int code = Convert.ToInt32(gvGroupSummary.DataKeys[index].Value.ToString());
                    IEnumerable<DataRow> query = from i in dt.AsEnumerable()
                                                 where i.Field<int>("GroupID").Equals(code)
                                                 select i;
                    DataTable detailTable = query.CopyToDataTable<DataRow>();
                    DetailsView1.DataSource = detailTable;
                    DetailsView1.DataBind();
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    sb.Append(@"<script type='text/javascript'>");
                    sb.Append("$('#detailModal').modal('show');");
                    sb.Append(@"</script>");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "DetailModalScript", sb.ToString(), false);
                }

            }
            catch (Exception ex)
            {
                System.Console.Error.Write(ex.Message);
            }
        }

HTML-код:

 <!-- Detail Modal Starts here-->
    <div id="detailModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h3 id="myModalLabel">Detailed View</h3>
        </div>
        <div class="modal-body">
            <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                <ContentTemplate>
                    <asp:DetailsView ID="DetailsView1" runat="server" CssClass="table table-bordered table-hover" BackColor="White" ForeColor="Black" FieldHeaderStyle-Wrap="false" FieldHeaderStyle-Font-Bold="true" FieldHeaderStyle-BackColor="LavenderBlush" FieldHeaderStyle-ForeColor="Black" BorderStyle="Groove" AutoGenerateRows="False">
                        <Fields>
                            <asp:BoundField DataField="GroupID" HeaderText="Group ID" />
                            <asp:BoundField DataField="GroupCode" HeaderText="Group Code" />
                            <asp:BoundField DataField="GroupName" HeaderText="Group Name" />
                            <asp:BoundField DataField="GroupType" HeaderText="Group Type" />
                              <asp:BoundField DataField="PreviousEstimateCosts" HeaderText="Previous Estimate Costs" />
                             <asp:BoundField DataField="TotalEstimates" HeaderText="Total Estimate Costs" />
                             <asp:BoundField DataField="PreviousEstimateVariance" HeaderText="Previous Estimate Variance" />
                             <asp:BoundField DataField="TotalActuals" HeaderText="Total Actual Costs" />
                             <asp:BoundField DataField="EstimateActualVariance" HeaderText="Estimate Actual Variance" />
                             <asp:BoundField DataField="EstimateActualVariancePct" HeaderText="Estimate Actual Variance PCT" />
                             <asp:BoundField DataField="FinancialYear" HeaderText="Financial Year" />
                             <asp:BoundField DataField="HasComments" HeaderText="Comments" />
                        </Fields>
                    </asp:DetailsView>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="gvGroupSummary" EventName="RowCommand" />
                </Triggers>
            </asp:UpdatePanel>
            <div class="modal-footer">
                <button class="btn btn-info" data-dismiss="modal" aria-hidden="true">Close</button>
            </div>
        </div>
    </div>
    <!-- Detail Modal Ends here -->

Я проверил код без мастер-страницы, и он работает. Когда я использую мастер-страницу и нажимаю кнопку «Сведения», главная страница темнеет, но всплывающее окно не появляется. После исследования проблемы кажется, что проблема с этой частью, но я не уверен, как изменить это:

 sb.Append(@"<script type='text/javascript'>");
                    sb.Append("$('#detailModal').modal('show');");
                    sb.Append(@"</script>");
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "DetailModalScript", sb.ToString(), false);

Любая помощь будет высоко ценится!

...