我是MVC的新手可以有人告诉我RedirectResult
用于什么?
我想知道这有什么不同:
public ActionResult Index()
{
return new RedirectResult("http://www.google.com");
}
和此:
public RedirectResult Index()
{
return new RedirectResult("http://www.google.com");
}
答案 0 :(得分:51)
用于对给定网址执行HTTP redirect。基本上,它会在响应中发送302状态代码和Location标头,以便客户端现在向此新位置发出新的HTTP请求。
通常你会像这样使用它而不是显式调用构造函数:
public ActionResult Index()
{
return Redirect("http://www.google.com");
}
就你的两个代码片段之间的区别而言,嗯,它比MVC相关更多的C#问题。实际上RedirectResult派生自ActionResult,因此两者都是有效的语法。我个人更喜欢第一个,例如你可以决定改变这个重定向来返回一个视图:
public ActionResult Index()
{
return View();
}
如果您已明确指定返回类型为RedirectResult
而不是ActionResult
,则现在必须将其修改为ViewResult
(可能不是什么大问题,但这是一个额外的步骤你必须这样做。)
答案 1 :(得分:0)
基本上两者都是一样的。主要概念是所有结果都来自于acion结果。
因此,如果将来ou想要更改返回类型,那么您可以使用操作结果。