我有一个动作只是根据传递给它的参数执行一些数据库工作,然后重定向到另一个页面。
那么返回类型应该是什么?
答案 0 :(得分:4)
使用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})
);
}
答案 1 :(得分:1)
如果它总是重定向,则返回类型也可能是 RedirectToRouteResult 或 RedirectResult ,具体取决于您是重定向到某个操作还是网址。
有关类似的讨论,请参阅this question。
以下是一个例子:
public RedirectToRouteResult Foo()
{
return this.RedirectToAction("Bar");
}