zoukankan      html  css  js  c++  java
  • mvc 重定向的几种方式

    在RouteConfig添加一个简单的路由

                //新增路由
                routes.MapRoute(
                     name: "Article",
                     url: "Detial/{id}",
                     defaults: new { controller = "Article", action = "Detial", id = UrlParameter.Optional },
                     constraints: new { id = @"d+" }
                     //namespaces: new string[] { }
                );

    302重定向

            public ActionResult UrlTest1()
            {//302
                return Redirect("/Article/Detial/1");
            }
            public ActionResult UrlTest2()
            {//302
                return RedirectToAction("Detial", "Article", new System.Web.Routing.RouteValueDictionary(new { id = 2 }));
                //return RedirectToAction("Detial", "Article",new { id  = 1});
            }
            public ActionResult UrlTest3()
            {//302
                return RedirectToRoute("Article", new System.Web.Routing.RouteValueDictionary(new { id = 3 }));
                //return RedirectToRoute("Article", new { id = 1 });
            }

    301重定向

            public ActionResult UrlTest4()
            {//301
                return RedirectPermanent("/Article/Detial/4");
            }
    
            public ActionResult UrlTest5()
            {//301
                return RedirectToActionPermanent("Detial", "Article", new System.Web.Routing.RouteValueDictionary(new { id = 5 }));
                //return RedirectToActionPermanent("Detial", "Article", new { id = 1 });
            }
    
            public ActionResult UrlTest6()
            {//301
                return RedirectToRoutePermanent("Article", new System.Web.Routing.RouteValueDictionary(new { id = 6 }));
                //return RedirectToRoutePermanent("Article", new { id = 1 });
            }

    也可以自己设置

            public ActionResult UrlTest7()
            {//可设置
                return new RedirectToRouteResult("Article", new System.Web.Routing.RouteValueDictionary(new { id = 7 }), false) { };
            }
            public ActionResult UrlTest8()
            {//可设置
                return new RedirectResult("/Article/Detial/8", false);
            }

    要注意的是,在View()中指定不同的视图不是重定向

            public ActionResult UrlTest9()
            {//200
                return View("Detial", null, new { id = 9 });
            }

    第二个代码段和第三个代码段中的方法,都会用第四个代码段中的形式最后以Response.Redirect方法返回给客户端

  • 相关阅读:
    接口的多实现。
    接口的基本实现。
    构建MVC解决方案(包含哪些项目)
    书目记录
    Chrome浏览器修改user-agent,伪装其他浏览器,附带微信、支付宝user-agent
    [文件]学生信息的简单读入与输出
    scanf高级用法【至此丢弃gets用法 】
    数组,字符串
    [转载]终极解密输入网址按回车到底发生了什么
    typedef 和 #define 的区别
  • 原文地址:https://www.cnblogs.com/cheesebar/p/6007888.html
Copyright © 2011-2022 走看看