日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

asp.net MVC 路由

發(fā)布時間:2025/7/14 asp.net 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asp.net MVC 路由 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

? 在winFrom上面我們會用一個重寫Url的組件來實(shí)現(xiàn)偽靜態(tài),來提供好的體驗和SEO等。而現(xiàn)在我們希望URL能夠滿足

??? 1.容易記憶和拼寫

??? 2.簡短,反映出站點(diǎn)結(jié)構(gòu)

??? 3.用戶可以通過移除URL的末尾達(dá)到更高層的結(jié)構(gòu)?

用傳統(tǒng)的方式我們很難達(dá)到上面的要求,而路由解決了這些問題。和重寫URL不同的是,重寫只是將請求的URL進(jìn)行了轉(zhuǎn)發(fā),而路由接管了整個URL的生命周期。 路由主要是用來匹配傳入的請求,并將請求映射到控制器操作,構(gòu)造傳出的URL等。

在MVC中有這樣的一段路由代碼

public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });}
其中

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");表示忽略能夠匹配到的路由

在下面的路由中定義了一個名為Default的路由 制定了默認(rèn)的

controller = "Home", action = "Index", id = UrlParameter.Optional

?

我們自己來定義一段路由,我希望有一個list/2012/1/1這樣的年月日的路由 ,于是我在路由表里面加上一下代碼:

routes.MapRoute(name: "List",url: "List/{year}/{month}/{day}",defaults: new { Controller="User",action="index", year=2012,month=1,day=1 });


設(shè)置路由到User控制器下的index方法上?? ,然后在UserController的index方法如下:

public ViewResult Index(int year,int month,int day){ViewBag.date = year + "-" + month + "-" + day;return View();}

將年月日輸出到頁面上在View /index.cshtml上加上

<p>@ViewBag.date</p>

運(yùn)行得到了希望的答案

??

????????

??????? 到這里就大概知道了路由是怎么寫的。要探究其中的遠(yuǎn)離還需要下一番功夫才行,要注意的是定義路由的時候最好指定Controller action 這樣可以得到自己想要的路由結(jié)果。其實(shí)只要結(jié)構(gòu)簡單默認(rèn)的路由也是夠用了的。路由需要考慮到路由二義性的問題,一條url能夠被兩條以上的路由匹配是我們需要規(guī)避的。

轉(zhuǎn)載于:https://www.cnblogs.com/ac1985482/archive/2012/12/10/2811321.html

總結(jié)

以上是生活随笔為你收集整理的asp.net MVC 路由的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。