【问题标题】:RedirectToAction Not Loading Correct ViewRedirectToAction 未加载正确的视图
【发布时间】:2010-01-12 06:20:27
【问题描述】:

这是一个奇怪的问题。可能是痛苦的显而易见。 :D

我有一个视图(我们称之为View0.aspx),它可以将表单发布到控制器操作(我们称之为Action1)。 Action1 运行,然后返回RedirectToAction("Action2"),后者又返回View("View2")

在调试器中运行它,一切看起来都很棒(Action2 断点被命中)。问题是,它永远不会加载View2.aspxView0.aspx 留在那里。我什至看到了调用 Action2 的路由的 HTTP 请求,但 View2 从未加载。我什至没有刷新任何想法?

来源如下:

[AcceptVerbs("POST")]
    public ActionResult Action1()
    {
       // Run action code

       return RedirectToAction("Action2");
    }

public ActionResult Action2()
    {
       // run action code

       return View("View2");
    }

【问题讨论】:

  • Action2 方法中的断点是否被命中?
  • 还有其他事情吗?例如,从 Action1() 中,您永远不会直接返回 Action2(),对吗?查看更多代码可能会有所帮助。

标签: asp.net-mvc redirecttoaction


【解决方案1】:

我刚刚发现了问题。我正在做一个 Ajax 帖子,它解释了为什么它没有重定向。我把它切换到一个普通的帖子,它工作。另外,我刚刚注意到我的 OP 中有一些错误,我将要修复这些错误。对不起,令人困惑的帖子。

【讨论】:

  • 如果您需要一个在 POST 结束时执行 RedirectToAction 的 ActionLink,您知道该怎么做吗?
【解决方案2】:

“查看 View2 的 HTTP 请求”——你的意思是 Action2?您不能在 MVC 中请求视图。 “View0.aspx 停留在那里” - “那里”在哪里?是普通的 POST 还是 AJAXified?如果它是普通的 POST 并且您点击 Action2,那么浏览器确实已经离开 Action0 页面并将显示新结果 - 无论它是什么。即使是错误也会改变页面。那么“View0.aspx 停留在那里”是什么意思 - 没有页面刷新?页面刷新但 View0 内容相同?您确定 View0 和 View2 看起来不同吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多