Bootstrap модальная потеря данных при отображении
У меня есть форма, в которой есть различные кнопки, которые при нажатии отображают модальное всплывающее окно. Всплывающее окно отображается правильно на экране, но данные не отображаются ни в одном из полей.
Когда я перехожу через код, я вижу, что данные назначаются соответствующим элементам управления (текстовое поле или метка), но ничего не появляется. В моем проекте у меня есть несколько других форм, которые также имеют всплывающие окна, и они работают так, как должны. Я даже использовал код из этих форм, чтобы попытаться решить эту проблему, но безуспешно.
Это код, в котором пользователь нажимает кнопку для отображения всплывающего окна
<div class="tab-pane fade" id="tabDiary"> <div class="col-md-12"> <asp:UpdatePanel ID="updatePanelDiary" runat="server"> <ContentTemplate> <%--<asp:Timer ID="timerDiary" runat="server" Interval="15000" OnTick="timerDiary_Tick"></asp:Timer>--%> <asp:Repeater ID="rptDiary" runat="server" OnItemDataBound="rptDiary_ItemDataBound"> <HeaderTemplate> <div class="col-md-12 text-right"> <div class="form-group"> <asp:Button ID="btnDiary" runat="server" Text="New Diary Item" OnClick="btnDiary_Click" CssClass="btn btn-warning" Visible="true" /> <div class="clearfix"></div> </div> </div> <table class="table table-striped table-bordered"> <thead> <tr class="tabHeaderRow"> <td>Date</td> <td>Entered By</td> <td>Comments</td> <td>Action Date</td> <td></td> </tr> </thead> </HeaderTemplate> <ItemTemplate> <tr> <td><%# DataBinder.Eval(Container.DataItem,"DateEntered") %></td> <td><%# DataBinder.Eval(Container.DataItem,"AddedBy") %></td> <td><%# DataBinder.Eval(Container.DataItem,"Comments") %></td> <td><asp:Label ID="lblActionDate" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"ActionDate") %>'></asp:Label></td> <td><asp:Button ID="btnEditDiaryEntry" runat="server" CssClass="btn btn-primary btn-sm" Text="Edit" CommandName="EditDiaryEntry" OnCommand="btnEditDiaryEntry_Command" CommandArgument='<%#Eval("DiaryID") %>' /></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater> </ContentTemplate> </asp:UpdatePanel> </div> <div class="clearfix"></div> </div>
Это код, стоящий за ним:
protected void btnEditDiaryEntry_Command(object sender, CommandEventArgs e) { Int32 DiaryID = Convert.ToInt32(e.CommandArgument); SqlCommand cmd = new SqlCommand("sp_GetDiaryEntry", cnn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@DiaryID", DiaryID); cnn.Open(); SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { txtEditComment.Text = dr["Comments"].ToString(); txtEditScheduleDiary.Text = dr["ActionDate"].ToString(); } dr.Close(); cnn.Close(); ScriptManager.RegisterStartupScript(_parentControl, _parentControl.GetType(), "Modal", " DisplayEditDiaryModal()", true); Master.GetMenuData(); txtEditScheduleDiary.Text = "hello david"; }
И это код для отображения всплывающего окна
<script type="text/javascript"> function DisplayEditDiaryModal() { $('#<%=pnlDiaryEdit.ClientID%>').modal('show'); } </script>
Что я уже пробовал:
Как я уже сказал, этот код работает на других формах в рамках проекта. Любая помощь будет очень признательна.