我想在用户单击按钮时显示弹出窗口(已经使用Html.ActionLink
-旧代码;弹出窗口仅显示会话变量是否等于某个值...这部分已经确定了),然后重定向或返回新视图(在控制器中完成)。
我有Html.ActionLink(<button name>, <controller>, <action>)
,在这里得到其他答案的帮助下,我制作了Html.ActionLink(<button name>, <controller>, <action>, null, new { onlick: 'myPopup();'})
,其中myPopup()
是创建qjuery modal popup的函数。
但是我的问题是有时弹出窗口甚至不显示或仅显示几秒钟。我认为这是因为javascript异步且控制器速度更快,因此它会在执行javascript代码之前返回。有谁知道如何先执行javascript代码,然后执行控制器代码。
我尝试Html.ActionLink(<button name>, <controller>, <action>, null, new { onlick: 'myPopup();return false;'})
,因为return false
应该停止默认行为(重定向到Controller / Action),然后在jQuery代码中,当单击弹出窗口中的按钮OK
时,我将ajax重定向到控制器。但是问题是我似乎无法完成这项工作,这甚至可能是错误的方式?
任何建议如何添加此功能?
答案 0 :(得分:0)
嗨,欢迎来到SO:)
您需要在myPopup()函数中处理重定向。假设您的模态中有一个“继续”按钮。一种可能的方法是-
$('#actionLinkId').click(function (e) {
e.preventDefault();
var link = $(this).attr('href');
$('#continue').attr('href', link);
$('#yourModalId').modal();
});