MVC之重定向

MVC的重定向主要通过RedirectResult和RedirectToRouteResult实现。很显然,这两个对象都是MVC返回对象ActionResult的两个继承,具体原理不赘述。

这两个方法的作用相同,第一个采用的是url的方式,第二个采用的是路由表的方式。

RedirectResult构造方法中的第一个参数url传入要跳转的地址,可采用绝对地址跟相对地址,第二个参数描述是否是暂时重定向即(301重定向和302重定向)。在返回该对象时会将重定向地址以及状态码(即301,302写入响应包头location中)。

301跟302重定向的区别:

302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。

301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。

因此这两种重定向体验上没有任何区别,只有在SEO上会有所不同。

  • RedirectToRoute( new { controller="Member",action="List"});

另外抽象类ActionResult还定义了RedirectToAction 方法,实际也是调用返回的RedicrectToRoute对象

时间: 2024-11-04 15:38:45

MVC之重定向的相关文章

MVC页面重定向'页面跳转

MVC页面重定向,主要有以下几种形式: 1.Response.Redirect();方法 [csharp] view plain copy using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { [HandleError] public class HomeController

MVC的重定向页面的跳转

MVC页面重定向,主要有以下几种形式: 1.Response.Redirect();方法 [csharp] view plaincopy using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { [HandleError] public class HomeController 

MVC页面重定向的几个方法

MVC页面重定向,主要有以下几种形式: 1.Response.Redirect();方法 [csharp] view plain copy using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { [HandleError] public class HomeController

ASP.NET MVC 页面重定向

在asp.net中页面重定向:Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, 再返回本页继续执行.再将三者结果合并后返回给浏览器. 以上都是服务器端页面转向所以浏览器不出现页更改记录(显示的地址不会改变).因此,如果用户刷新此页,也许会出现一些其它意外情况. 此类页转向,可完成一些其它功能,比如访问到前一页面中的服务端控件. 3.Response.Redirect: 当浏览器请求aspx页面时,碰到Redirect(

Spring MVC页面重定向

以下示例显示如何编写一个简单的基于Web的重定向应用程序,这个应用程序使用重定向将http请求传输到另一个页面. 基于Spring MVC - Hello World实例章节中代码,创建创建一个名称为 PageRedirection 项目. 在 com.ktao.controller 包下创建一个Java类WebController. 在jsp子文件夹下创建一个视图文件index.jsp,final.jsp. 最后一步是创建所有源和配置文件的内容并导出应用程序,如下所述. 完整的项目代码,如下所

ASp.Net Mvc Core 重定向

在之前老版本的MVC中.重定向直接写 HttpContext.Response.Redirect("/404.html") 就好了,程序走到这里会自动返回302然后跳转了, 但是这句话在MVC Core中好像没有效果了... 必须在Action中返回一个Redirect return Redirect("/404.html"); 然后这样才会被正确的重定向. 原文地址:https://www.cnblogs.com/chenxincoder/p/9309437.ht

Spring MVC页面重定向实例

以下内容引用自http://wiki.jikexueyuan.com/project/spring/mvc-framework/spring-page-redirection-example.html: 例子: pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo

MVC中重定向几种方法

//1.Response.Redirect using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcDemo.Controllers { [HandleError] public class HomeController : Controller { public ActionResult Index() { Vi

MVC 301重定向(永久重定向不带www域名到带www的域名)

一些朋友可能会使用比较苯的方法,在每个 Controller 下都加上 Response.RedirectPermanent 方法. 较为简单的做法是在 Global.axax.cs 中加入下边的代码 /// <summary> /// 301永久重定向不带www域名到带www的域名 /// </summary> /// <param name="sender"></param> /// <param name="e&qu