javascript - 使用 JavaScript 打开 ModalPopupExtender

标签 javascript asp.net vb.net

我的 aspx 页面中有一个弹出窗口,我想根据 javascript 必须满足的条件打开它。我遇到的问题是,无论我尝试什么,我似乎都无法让 modalpopupextender 工作。

我尝试过使用 PageMethods、_doPostBack() 和 $Find(PopupClientId).Show();

以上似乎都不起作用,我也不知道为什么。

这是我的 JavaScript。

    function RequotePopup(popup, status) {
        if (status = true) {
            var thePopup = document.getElementById(popup);
            thePopup.style.visibility = "visible";
        } else {
            alert("Please select a record for Re-Quote");
        }
    }
    function checkGridView() {
        var hdnCheckboxIDs = document.getElementById("ctl00_ContentPlaceHolder1_hdnCheckboxID");
        var arrCheckboxIDs = hdnCheckboxIDs.value.split(",");
        var checked = false;


        for (var i = 0; i < arrCheckboxIDs.length; i++) {
            if (arrCheckboxIDs[i] != "") {
                var ckbItem = document.getElementById(arrCheckboxIDs[i]);
                if (ckbItem != null) {
                    if (ckbItem.checked == true) {
                        checked = true;
                    }
                }
            }
        }
        if (checked == true) {
            //var modal = $find('<%= ReQuoteBtn_ModalPopupExtender.ClientID %>');
            //modal.show();
            PageMethods.ShowExtender();
            ShowPopup('RequotePopup');
        } else {
            alert("Please select a record for Re-Quote");
        }
    }

这是我的 ASP.Net。

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />

<asp:Button ID="ReQuoteBtn" runat="server" Text="Re-Quote" OnClientClick="Javascript:checkGridView()"
    CssClass="Sales" />
<asp:ModalPopupExtender ID="ReQuoteBtn_ModalPopupExtender" runat="server" DynamicServicePath=""
    BackgroundCssClass="modalBackground" Enabled="True" BehaviorID="RequoteModal" PopupControlID="RequotePopup"
    TargetControlID="ReQuoteBtn" OnCancelScript="cmdCancelrq">
</asp:ModalPopupExtender>

最佳答案

我不确定您是否尝试过此操作,但如果您通过 BehaviorID 找到 ModalPopupExtender,它应该会起作用。

由于您的 BehaviorID 是 RequoteModal,让我们试试这个示例:

显示弹出窗口

$find('RequoteModal').show();

隐藏弹窗

$find('RequoteModal').hide();

编辑:

我刚刚注意到您为 ModalPopupExtender 设置了 Enabled="False",这将不允许模态框调用 show() 方法,您可能会收到错误消息这样的“无法获取未定义或空引用的属性‘show’”。

请删除该设置并重试。

关于javascript - 使用 JavaScript 打开 ModalPopupExtender,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21849731/

相关文章:

asp.net - 与开发服务器(Cassini)相比,IIS 中的 RegEx.Match 慢得多?

c# - 编辑文件元数据 - 代码在 VB 中可以,但在 C# 中不行

javascript - Canvas createPattern 函数不起作用

javascript - 如何通过手动在文本字段中输入内容来填充时间戳?

javascript - 获取从 nodeJS + Express 返回的空响应

Javascript 原型(prototype)继承和 OOP

asp.net - "Disable managed optimizations and restart debugging"在 Visual Studio 中实际更改了哪些设置?

c# - WebHttpBinding 与 Http 和 Https

mysql - 更新记录 vb.net 和 mysql 期间输入字符串格式不正确消息错误

c# - HtmlAgilityPack 的 Html 节点问题