如何使用 JQuery-UI 对话框重定向到主页?

发布于 2025-01-04 07:52:43 字数 514 浏览 0 评论 0原文

我在 DotNetNuke 模块中使用以下 JQuery 块:

jquery(document).ready(function (){
      $( "#dialog:ui-dialog").dialog("destroy");
      $( "#dialog-message").dialog({
        modal: true,
        buttons: {
            Ok: function(){
                $( this ).dialog("close");
                }
            }
        });
});
</script>
<div id="dialog-message" title="Registration Confirmed">

我不确定当用户单击“确定”按钮时如何将用户重定向到主页?另外,如何连接对话框消息 DIV 以仅在单击 ASP:Button 时触发?

非常感谢!!

I'm using the following JQuery block in my DotNetNuke module:

jquery(document).ready(function (){
      $( "#dialog:ui-dialog").dialog("destroy");
      $( "#dialog-message").dialog({
        modal: true,
        buttons: {
            Ok: function(){
                $( this ).dialog("close");
                }
            }
        });
});
</script>
<div id="dialog-message" title="Registration Confirmed">

I'm not sure how to redirect the user to the home page when they click the Ok button? Also, how do I wire up the dialog-message DIV to only fire when my ASP:Button is clicked?

Thanks much!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

最冷一天 2025-01-11 07:52:43

您可以在 Button 上放置一个 OnClientClick 并调用一个显示模态框的函数。单击“确定”按钮后,您可以将 window.location 更改为主页的路径。

HTML

<asp:Button runat="server" ID="btn_ShowModal" OnClientClick="showModal(); return false;" />

Javascript

function showModal()
{
    $( "#dialog-message").dialog({
        modal: true,
        buttons: {
            Ok: function(){
                $( this ).dialog("close");
                window.location = "pathToHomepage";
            }
        }
    });
}

编辑
一般来说,JavaScript 和 Web 开发中可以使用两种类型的路径:相对路径和绝对路径。

相对路径:从当前目录开始,使用“/”前进目录和“../' 向后

绝对路径:所需位置的完整 url

您可以找到更全面的描述 此处

'~/' 是一个服务器端“快捷方式”,不幸的是,如果不使用 this.ResolveClientUrl

'<%= this.ResolveClientUrl("~/default.aspx") %>'

You can put an OnClientClick on your Button and call a function that will show your modal. When the ok button is clicked you can change the window.location to the path of your homepage.

HTML

<asp:Button runat="server" ID="btn_ShowModal" OnClientClick="showModal(); return false;" />

Javascript

function showModal()
{
    $( "#dialog-message").dialog({
        modal: true,
        buttons: {
            Ok: function(){
                $( this ).dialog("close");
                window.location = "pathToHomepage";
            }
        }
    });
}

Edit
There are two types of paths that can be used in javascript and in web development in general: relative paths and absolute paths.

Relative paths: start from the current directory and you access the desired location from there using '/' to go forward a directory and '../' to go backward

Absolute paths: the full url to the desired location

You can find a more thorough description here

'~/' is a sever side "shortcut" that unfortunately does not work on the client side without using something like this.ResolveClientUrl.

'<%= this.ResolveClientUrl("~/default.aspx") %>'
半仙 2025-01-11 07:52:43
<script type="text/javascript">
    function ShowPopup(message) {
        $(function () {
            $("#dialog").html(message);
            $("#dialog").dialog({
                title: "Alert",
                buttons: {
                    Close: function () {
                        $(this).dialog('close');
                        window.location = "home.aspx";
                    }
                },
                modal: true
            });
        });
    };
</script>

客户端

         string message = "Profile Updated!!.";
         ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup('" + message + "');", true);
<script type="text/javascript">
    function ShowPopup(message) {
        $(function () {
            $("#dialog").html(message);
            $("#dialog").dialog({
                title: "Alert",
                buttons: {
                    Close: function () {
                        $(this).dialog('close');
                        window.location = "home.aspx";
                    }
                },
                modal: true
            });
        });
    };
</script>

client side

         string message = "Profile Updated!!.";
         ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup('" + message + "');", true);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文