繁体   English   中英

Html.ActionLink:弹出窗口(自定义),然后重定向

[英]Html.ActionLink: popup(custom), then redirect

我想在用户单击按钮时显示弹出窗口(已经使用Html.ActionLink较早的代码完成;弹出窗口仅显示会话变量是否等于某个值...这部分已经确定了),然后将其重定向或使用新视图返回(这在控制器中完成)。

我有Html.ActionLink(<button name>, <controller>, <action>) ,在这里借助其他答案,我将Html.ActionLink(<button name>, <controller>, <action>, null, new { onlick: 'myPopup();'}) ,其中myPopup()是创建qjuery模态弹出窗口的函数。

但是我的问题是,有时弹出窗口甚至不显示或仅显示几秒钟。 我认为这是因为javascript异步且控制器速度更快,因此它会在执行javascript代码之前返回。 有谁知道如何先执行javascript代码,然后执行控制器代码。

我试图Html.ActionLink(<button name>, <controller>, <action>, null, new { onlick: 'myPopup();return false;'})因为return false应该会停止默认行为(重定向到Controller / Action ),然后在jquery代码中,当OK弹出窗口中的“ OK按钮时,我将ajax重定向到控制器。 但是问题是我似乎无法完成这项工作,这甚至可能是错误的方式?

任何建议如何添加此功能?

嗨,欢迎来到SO :)

您将需要在myPopup()函数中处理重定向。 假设您的模态中有一个“继续”按钮。 您可以做到的一种方法是-

$('#actionLinkId').click(function (e) {
    e.preventDefault();

    var link = $(this).attr('href');
    $('#continue').attr('href', link);

    $('#yourModalId').modal();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM