【发布时间】:2010-12-30 01:07:30
【问题描述】:
我有一个动作,它只是根据传递给它的参数做一些数据库工作,然后它重定向到另一个页面。
那么返回类型应该是什么?
【问题讨论】:
标签: .net asp.net-mvc
我有一个动作,它只是根据传递给它的参数做一些数据库工作,然后它重定向到另一个页面。
那么返回类型应该是什么?
【问题讨论】:
标签: .net asp.net-mvc
使用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})
);
}
【讨论】:
如果总是重定向,则返回类型也可能是 RedirectToRouteResult 或 RedirectResult,具体取决于您是重定向到操作还是 URL。
参见this question 进行类似讨论。
这是一个例子:
public RedirectToRouteResult Foo()
{
return this.RedirectToAction("Bar");
}
【讨论】: