这很奇怪。可能很痛苦明显。 :d
我有一个View(我们称之为View0.aspx
),它将表单发布到控制器操作(让我们称之为Action1
)。 Action1运行然后返回RedirectToAction("Action2")
,然后返回View("View2")
。
在调试器中运行它,一切看起来都很棒(Action2断点被点击)。问题是,它永远不会加载View2.aspx
。 View0.aspx
留在那里。我甚至看到调用Action2的路由的HTTP请求,但View2从不加载。我甚至没有刷新任何想法?
来源:
[AcceptVerbs("POST")]
public ActionResult Action1()
{
// Run action code
return RedirectToAction("Action2");
}
public ActionResult Action2()
{
// run action code
return View("View2");
}
答案 0 :(得分:1)
我刚刚发现了这个问题。我正在做一个Ajax帖子,这解释了为什么它没有重定向。我将它切换到正常的帖子,它工作。另外,我刚注意到我的OP中有一些错误,我即将修复。抱歉这个令人困惑的帖子。
答案 1 :(得分:0)
“查看View2的HTTP请求” - 你的意思是Action2?您无法在MVC中请求查看。 “View0.aspx留在那里” - “那里”?它是普通的POST还是AJAXified?如果它是普通的POST并且您点击了Action2,那么浏览器已经离开了Action0页面并且将显示新的结果 - 无论它是什么。即使错误也会改变页面。那你的意思是“View0.aspx留在那里” - 没有页面刷新?页面刷新但具有相同的View0内容?你确定View0和View2看起来不一样吗?