我是MVC的新手,谁能告诉我RedirectResult
的用途是什么?
我想知道这之间有什么区别:
public ActionResult Index()
{
return new RedirectResult("http://www.google.com");
}
还有这个:
public RedirectResult Index()
{
return new RedirectResult("http://www.google.com");
}
最佳答案
它用于对给定的URL执行HTTP redirect。基本上,它将在响应中发送302状态代码以及Location header ,以便客户端现在向该新位置发出新的HTTP请求。
通常,您将像这样使用它,而不是显式调用构造函数:
public ActionResult Index()
{
return Redirect("http://www.google.com");
}
就您的两个代码段之间的差异而言,与MVC相关的问题更多的是C#问题。实际上RedirectResult源自ActionResult,因此两者都是有效的语法。我个人比较喜欢第一个,例如您可以决定更改此重定向以返回 View :
public ActionResult Index()
{
return View();
}
并且如果您已明确指定返回类型为
RedirectResult
而不是ActionResult
,则现在必须将其修改为ViewResult
(可能没什么大不了,但这是您必须执行的另一步骤)。