javascript - Messi jQuery 确认框重定向

标签 javascript jquery asp.net function webforms

我在 WebForms 中有一个 jQuery 脚本,我试图在按钮单击事件中显示一条消息。我的 .aspx 文件中有 script,我在代码隐藏中调用它。问题是如果用户单击 confirm 而不是 cancel 按钮,我该如何重定向?

.ASPX 脚本:

<script type="text/javascript">

        $(window).unload(function () {
            CloseWindow();
        })
        //var newEmployeeDetail = document.getElementById(hfNe)

        function confirmAppointEmployee() {
            debugger;
            Messi.ask("Employee appointed successfully",
                function (val) {
                    if (val == false) {
                    $("[id*=Cancel]").click();
                }
                else {
                        $("[id*=Confirm]").click();
                }

            }, {
                buttons: [{ id: '0', label: 'Confirm', val: true, 'class': 'btn-primary' }, { id: '0', label: 'Cancel', val: false }]
            });
        }

    </script>

代码隐藏:

 ClientScript.RegisterStartupScript(this.GetType(), "Success", "<script>confirmQuickAppointEmployee()</script>"); 

下面的代码是重定向用户需要调用的字符串。

private string PersonalInformationDetailUrl = Company.Framework.SmartNavigationPersonnel.SmartNavigation.GetUrlByPageName(Company.Framework.SmartNavigationPersonnel.SmartNavigation.PageNameList.PersonalInformationDetail) + "?AllowAddOption=true&AllowDeleteOption=true&RefreshMenuPage=true";

我试过下面的方法,但是 cancelconfirm 按钮做同样的事情。

  var confirm = "$(document).ready(function(){ new Messi('Employee appointed successfully', " +
                        "{title: 'Title', buttons: [{id: 0, label: 'Close', val: 'false'},{id: 0, label: 'Confirm', val: 'true'}], " +
                        "callback: function(val) { window.location.href = '" + Functions.FixClientUrl(PersonalInformationDetailUrl) + "' }}); });";
                    this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "confirm", confirm, true);

最佳答案

这一切都归结为您的 confirmQuickAppointEmployee Javascript 函数,该函数未在问题中指定。很明显,它必须是一个确认对话框/窗口,您有一个确认和一个取消按钮/功能。但是,由于问题中未共享实现,因此我只能提供一般准则:

找出那个函数是什么

打开浏览器的开发工具,转到其控制台选项卡并键入:

confirmQuickAppointEmployee + ""

然后按 Enter。这将向您显示此函数的源代码(如果存在)。当然,您应该在您的网站上才能执行此测试。查看此函数的源代码可能会为您提供一些有助于找出答案的信息。

查找使用示例

在您的项目源代码中搜索所有出现的 confirmQuickAppointEmployee 以查看到目前为止它是如何使用的。如果您按顺序仔细查看所有用法,那么您可能会发现一些确认/取消不同的示例。如果您找到这样的示例,那么您只需要了解如何识别确认/取消点击并将相同的想法应用于您的问题。

一种可能性

Javascript 有一个原生的confirm 对话框,可以用作函数调用并返回一个 bool 值。在您的控制台中试试这个:

if (confirm("")) {
    alert("confirmed");
} else {
    alert("cancelled");
}

如果您的 confirmQuickAppointEmployee 碰巧模仿了这种行为,那么您也可以类似地使用它。当然,这在很大程度上取决于confirmQuickAppointEmployee,这在问题中没有共享。

关于javascript - Messi jQuery 确认框重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66113483/

相关文章:

javascript - 获取在 Repeater 控件 ASP.Net 中显示的单击项文本框

asp.net - Windows 容器中的容器文件权限

php - Div刷新和滚动条问题

jquery - JQGrid - 无法使用参数向网格添加行

javascript - JQuery "onchange"事件仅在基于标签文本的一组中的多个复选框中发生

javascript - 从 Jquery 获取 Json 列表

jquery - 使用 jQuery 清除 CSS 动画

c# - ASP.net 简单设计题

javascript - Angular 在渲染时删除前导空白

javascript - 正则表达式:如果 foo 是一个词或在 URL 内,则替换它