我有一个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中查找替代方法。

09-28 00:58