RedirectResult:运行重新导向到其他网址,在RedirectResult的内部,基本上还是以Response.Redirect方法响应HTTP 302暂时导向。

eg:
public ActionResult Redirect()
{
return Redirect("/Home/NewIndex");
}
 
在mvc3版本之后,System.Web.Mvc.Controller类型还内建了一个RedirectPermanent辅助方法,可以让Action响应HTTP 301永久导向,使用HTTP 301永久导向还可以提升SEO效果,可保留原本页面网址的网页排名Ranking记录,并自动迁移到转向的下一页,这对于网站改版导致网站部分页面的网址发生变更时非常使用。
eg:
public ActionResult Redirect()
{
return RedirectPermanent("/Home/NewIndex");
}
 
RedirectToRoute:与前者类似,不够它会替你运算所有现有的网址路由值RouteValue,并比对网址路由表RouteTable中的每条规则,有助于生成mvc的网址。
 
控制器类别中有四个与RedirectToRoute有关的辅助方法
1,RedirectToAction
2,RedirectToActionPermanent
3,RedirectToRoute
4,RedirectToRoutePermanent
上述1,2是一个比较简单的版本,直接传入Action名称就可设置让浏览器转向该Action的网址,也可以传入新增的RouteValue值。
eg:
public ActionResult RedirectToActionSample()
{
//转址到同控制器的另一个Action
return RedirectToAction("SamplePage");
//转址到指定控制器的特定action并采用http 301永久转址
return RedirectToActionPermanent("List","Member");
//转址到MemberController的ListAction,并且加上page这个RouteValue
return RedirectToAction("List","Member",new { page=3});
}
3,4则是较高级的版本,可利用在Global.asax中定义的网址路由表来指定不同的转向网址,
eg:
public ActionResult aaa()
{
//转址到同控制器的另一个Action
return RedirectToRoute( new { action="SamplePage"});
//转址到指定控制器的特定action
return RedirectToRoute( new { controller="Member",action="List"});
//转址到MemberController的List Action,并且加上page这个RouteValue
return RedirectToRoute( new { controller="Member", action="List",page=3})
//转址到App_Start\RouteConfig.cs中的registerRoutes方法定义的网址路由表中的某个路由
return RedirectToRoute(RouteConfig.cs中某个MapRoute下配置的路由name);
}

RedirectResult,RedirectToRoute的更多相关文章

  1. MVC4笔记 RedirectResult,RedirectToRoute

    RedirectResult:运行重新导向到其他网址,在RedirectResult的内部,基本上还是以Response.Redirect方法响应HTTP 302暂时导向. eg: public Ac ...

  2. MVC4 View 的呈现

    一 ActionResult: 1. EmptyResult: Action方法返回的ActionResult对象被ActionInvoker 调用以实现对当前请求的响应,不论Action方法是否具有 ...

  3. 了解ASP.NET MVC几种ActionResult的本质:HttpStatusCodeResult & RedirectResult/RedirectToRouteResult

    在本系列的最后一篇,我们来讨论最后三个ActionResult:HttpStatusCodeResult.RedirectResult和RedirectToRouteResult .第一个用于实现针对 ...

  4. MVC Controller return 格式之JsonResult、ContentResult、RedirectResult……

      //语法 public class JsonResult : ActionResult public class ContentResult : ActionResult public class ...

  5. .net mvc onexception capture; redirectresult;

    need to set filtercontext.result=new redirectresult('linkcustompage'); done. so... ASP.NET MVC异常处理模块 ...

  6. Controller中利用RedirectToRoute重定向的问题

    先看看我们例子用到的路由表 routes.MapRouteWithName( name: "ProductDetail", url: "{Platform}/Produc ...

  7. 一步步学习ASP.NET MVC3 (8)——EmptyResult,ContentResult,RedirectResult

    请注明转载地址:http://www.cnblogs.com/arhat 上一章,我们阐述了Controller,Action和ActionResult所代表的含义及使用,本章继续研究ActionRe ...

  8. 跨控制器跳转view——RedirectToRoute和RedirectToAction

    已知控制器AccountController.cs和HomeController.cs,如果从页面Account/Login直接跳转到Home/Index,可以利用RedirectToRoute和Re ...

  9. MVC Ajax调用Action时-OnActionExecuting RedirectResult 无法跳转的处理办法

    public class BaseController : Controller { protected override void OnActionExecuting(ActionExecuting ...

随机推荐

  1. ***CI查询辅助函数:insert_id()、affected_rows()

    查询辅助函数 $this->db->insert_id() 这个ID号是执行数据插入时的ID. $this->db->affected_rows() Displays the ...

  2. SqlHelper类的使用

    SqlHelper.cs public static class SqlHelper { private static readonly string conStr = ConfigurationMa ...

  3. javascript集合的交,并,补,子集的操作实现

    可能新的ECMA规范里已有了这些的实现, 但能自己从头开始实现,感觉也非常不错的哟... function Set() { var items = {}; this.has = function(va ...

  4. Windows 10 上强制Visual Studio以管理员身份运行

    Windows 10 的一个既安全又蛋疼之处是UAC的行为被改变了.以往在Windows 7中,只要关闭了UAC,自己的帐号又是本机管理员组的,任何程序都会以管理员身份启动.然而,在Windows 8 ...

  5. struts2文件下载及 <param name="inputName">inputStream</param>的理解

    转自:http://blog.csdn.net/wnczwl369/article/details/7483290 转自:http://hi.baidu.com/c2_sun/item/934a542 ...

  6. yuv rgb 像素格式1

    ===========大小============= 一般,直接采集到的视频数据是RGB24的格式 RGB24一帧的大小size=width×heigth×3 Byte, RGB32的size=wid ...

  7. POJ3581 Sequence(后缀数组)

    题意:给一个串,串的第一个字符比后面的都大,要把它分成三段,然后反转每一段,求能得到的字典序最小的串是什么. 首先,第一段是可以确定的:把原串反转,因为第一个字符是最大的,它是唯一的,不存在反转串的后 ...

  8. Lazy Load, 延迟加载图片的 jQuery 插件【备忘】

    http://www.neoease.com/lazy-load-jquery-plugin-delay-load-image/ jQuery Unveil – 另一款非常轻量的延迟加载插件 http ...

  9. sql server导出insert语句

    在所需要导出数据库上右键 选择[任务] 然后选择[生成脚本] 选择数据库,点击下一步到[数据脚本选项] 编写数据的脚本 选择为true  这一步很重要 下一步选择要导出的对象 下一步选择表 点击完成 ...

  10. JavaScript验证函数大全

    1. 长度限制 <script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符 ...