David Cleeton Ответов: 0

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>


Что я уже пробовал:

Как я уже сказал, этот код работает на других формах в рамках проекта. Любая помощь будет очень признательна.

0 Ответов