【问题标题】:what should a controller action look like if it just redirects?如果只是重定向,控制器操作应该是什么样子?
【发布时间】:2010-12-30 01:07:30
【问题描述】:

我有一个动作,它只是根据传递给它的参数做一些数据库工作,然后它重定向到另一个页面。

那么返回类型应该是什么?

【问题讨论】:

    标签: .net asp.net-mvc


    【解决方案1】:

    使用RedirectToRouteResult 重定向到同一控制器的操作:

    public RedirectToRouteResult DeleteAction(long itemId)
    {
        // Do stuff
        return RedirectToAction("Index");
    }
    

    或者使用它来重定向到另一个控制器的动作:

    public RedirectToRouteResult DeleteAction(long itemId)
    {
        // Do stuff
        return 
          new RedirectToRouteResult(
             new RouteValueDictionary(
              new {controller = "Home", action = "Index", Id = itemId})
          );
    }
    

    【讨论】:

      【解决方案2】:

      如果总是重定向,则返回类型也可能是 RedirectToRouteResultRedirectResult,具体取决于您是重定向到操作还是 URL。

      参见this question 进行类似讨论。

      这是一个例子:

      public RedirectToRouteResult Foo()
      {
          return this.RedirectToAction("Bar");
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-31
        • 1970-01-01
        • 1970-01-01
        • 2017-02-03
        • 2012-01-03
        • 1970-01-01
        • 2014-12-12
        • 1970-01-01
        相关资源
        最近更新 更多