我有一个JQuery确认弹出窗口,带有“是,否”按钮。是按钮调用此功能:
function doStuff() {
$('#confirmPopup').dialog("close");
var someKey = $("#someKey")[0].value;
$.post("/MYController/MyAction", { someKey : someKey },
function(responseText, textStatus, XMLHttpRequest) {
});
return false;
}
这成功调用了我的控制器动作(2次不同的尝试):
public ActionResult MyAction(int someKey)
{
//do stuff
return RedirectToAction("OtherAct", "OtherCont");
}
public JavaScriptResult MyAction(int someKey)
{
//do stuff
return JavaScript("Window.location.href='OtherCont/OtherAct';");
}
在这两种情况下,该动作都将被执行,但是不会重定向到另一个动作。为什么?
最佳答案
因为您不能从异步调用的操作($ .post)重定向。在here中查找替代方法。