bootstrap модальный и ajaxToolkit: AsyncFileUpload - PullRequest
0 голосов
/ 22 апреля 2020

То, что вы видите ниже, является упрощением моей веб-страницы, но этого достаточно, чтобы объяснить проблему. У меня есть веб-форма с 2 различными модалами внутри, в одном из которых у меня есть ajaxToolkit: AsyncFileUpload. После нескольких тестов я обнаружил, что этот элемент управления запрещает эту команду в коде: ScriptManager.RegisterStartupScript (this, GetType (), "popup", "$ ('# ModalForm'). Modal ()", true);.

Я не могу заставить модал появляться из выделенного кода, но та же команда, используемая в строке строки в виде сетки, работает и может открыть модал.

Я не могу понимаю, как это исправить, но когда я удаляю ajaxToolkit: AsyncFileUpload со страницы, кнопка работает отлично, и появляется модальный.

<head runat="server">
    <title></title>
    <script src="https://code.jquery.com/jquery-latest.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" />
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true"></asp:ScriptManager>

        <asp:LinkButton ID="btnShowAddModal" runat="server" class="btn btn-outline-primary" OnClick="btnShowAddModal_Click"><i class="fas fa-plus-square"></i>&nbsp;Add New</asp:LinkButton>

        <!-- Modal Upload-->
        <div class="modal fade" id="ModalUpload" tabindex="-1" role="dialog" aria-labelledby="ModalUploadTitle" aria-hidden="true">
            <div class="modal-dialog modal-dialog-centered" role="document">
                <div class="modal-content">
                    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
                        <ContentTemplate>
                            <div class="modal-header">
                                <h5 class="modal-title" id="UploadModalLongTitle">Upload Attachment</h5>
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <div class="modal-body">
                                <div class="form-row">
                                    <div class="form-group">
                                        <ajaxToolkit:AsyncFileUpload ID="FileUpload1" runat="server" />
                                        <asp:LinkButton runat="server" ID="lbAddAttach"></asp:LinkButton>
                                    </div>
                                </div>
                            </div>
                        </ContentTemplate>
                    </asp:UpdatePanel>
                </div>
            </div>
        </div>
        <!-- Modal Insert -->
        <div class="modal fade" id="ModalForm" tabindex="-1" role="dialog" aria-labelledby="ModalFormTitle" aria-hidden="true">
            <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
                <div class="modal-content">
                    <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
                        <ContentTemplate>
                            <div class="modal-header">
                                <h5 class="modal-title"></h5>
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                            </div>
                            <div class="modal-body"></div>
                            <div class="modal-footer">
                                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                                <asp:Button ID="btnInsert" runat="server" CssClass="btn btn-primary" Text="Insert" OnClick="btnInsert_Click" ValidationGroup="vI" />
                            </div>
                        </ContentTemplate>
                    </asp:UpdatePanel>
                </div>
            </div>
        </div>
    </form>
</body>
</html>
    protected void btnShowAddModal_Click(object sender, EventArgs e)
    {
        ScriptManager.RegisterStartupScript(this, GetType(), "popup", "$('#ModalForm').modal()", true);//show the modal;
    }

    protected void btnInsert_Click(object sender, EventArgs e)
    {
        ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "Pop", "$('#ModalForm').modal('hide');", true);
    }
...