【问题标题】:Return other View without Redirect返回其他视图而不重定向
【发布时间】:2015-03-07 18:34:36
【问题描述】:

我有两个控制器动作:

public ActionResult Menus()
{
    // Build view model and display Menus view
}

public ActionResult MenuCommand(string commandArg)
{
    // Perform the specified action

    // Now return new Menus views
    return Menus();
}

这个想法是,在我的MenuCommand 操作完成后,它会推迟到该页面的原始处理程序。

但在上面的代码中,我的MenuCommand() 操作执行后出现以下错误。

未找到视图“MenuCommand”或其主视图,或者没有视图引擎支持搜索到的位置。

我相信我可以改用RedirectToAction("Menus") 来解决这个问题。但是,重定向效率低下。它将重定向返回给浏览器,然后浏览器必须发出第二个请求。为什么这是必要的?我不能简单地返回不同操作的结果吗?

【问题讨论】:

    标签: asp.net-mvc redirect


    【解决方案1】:

    所以,我在问题中的担忧是有道理的。重定向是低效的。

    但是,如果没有重定向,浏览器仍然认为我正在查看“MenuCommand”网址。这可能会导致问题。例如,任何链接都将相对于浏览器认为当前页面的 URL。最好将当前显示的正确 URL 告知浏览器。

    因此,我认为最好的做法是使用RedirectToAction(),尽管它效率低下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-19
      • 2019-04-15
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      相关资源
      最近更新 更多