MVC高階篇(二) 路由機制

2021-07-25 17:29:33 字數 1966 閱讀 2164

這個東西好像,一般也不經常動,都用預設的即可。由於

mvc模式在

framework

裡面的解析機制,區別與

webform

模式,是採用解析路由機制的

url。從來例項化檢視列物件,然後對該

action

進行操作,所以路由顯得也很重要,也可以理解為這個是乙個預設的

rul。

按照上文

mvc模式,首先傳送請求到**部分,會先解析路由機制,然後找到相應檢視控制器下面的相應的

action

方法,其實就是乙個預設引導作用。下面說一下預設路由和自定義路由,以及方法引數分析,其實也沒什麼。

路由機制我見過的有以下兩種:

預設路由

我見過的路由是在

global.asax

檔案中。預設路由為:

demo

routes.ignoreroute(".axd/");

routes.maproute(

"default", // 路由名稱

"//", // 帶有引數的 url

new // 引數預設值

);

根據上面的

demo

,可以看出,這個路由存在於全域性檔案裡面,以靜態方法存在。接受的引數為乙個路由集物件。方法裡面應用了路由物件的兩個方法,第乙個方法「

ignoreroute

」表明:忽視給出的可用的路由的指定

url路由。這裡主要是為了適應

asp.net

,這是一些

*axd

格式的**路徑不通過

mvc執行。去掉它,程式也可以正常執行,我在想它是不是起到了一種初始化或者過濾路由功能。第二個方法「

maproute

」就是對映路由了。系統給出了預設路由

url,是不是很人性化。這個

maproute

方法裡面有三個引數,分別是路由名稱、帶有引數的

url、引數預設值。在這裡就可以配置程式第一次啟動要進入的那個

url了。其實就這麼點兒東西,理解執行機制,路由就是這樣用。

關於自定義路由:

在預設路由上面按照預設路由方法,寫出自定義跳轉的

controller

、action

即可。這裡要注意一點兒就是,自定義路由要寫到預設路由上面,否則,跳轉的時候,還是會跳轉到預設路由。當自定義路由出問題的時候,還是會跳轉到預設路由的。

//自定義路由

routes.maproute("haha", "//", new );

另外,我們如果在操作過程中,需要用到路由轉換機制,那麼我們還是可以在

cshtml

裡面利用

html.routehtml

來自定義路由,方法和自定義路由一樣。

@html.routelink("luyoumingcheng", new );

上面這兩種方法,路由後面的不管是

id還是其他引數,我們還可以通過

id(或者其他引數)來更快的找到我們想要的頁面。

路由約束

在匹配url

或者自定義路由的同時,我們還可以對我們自定義的

url或者路由進行條件約束,從而得到我們需要的路由。

demo

//匹配字母或者數字或者下劃線重複多次

routes.maproute("haha", "//", new , new );

總的來說,使用路由構造的

url或者請求匹配的

url會在一定程度上,讓我們的頁面轉換更加方便。上網查了查說路由機制,可以在一定程度上,避免

sql注入攻擊。路由其實真的研究起來,實用的地方真的特別多,微軟官方文件上,關於路由物件的方法可謂有多種多樣,還需要我們以後多多去應用理解。

mvc框架封裝 二 路由類篇

mvc框架封裝 二 路由類篇 route new core lib route 引入路由類來觸發spl autoload register 使訪問的位址為 com.index index p route 在core資料夾中conf目錄中建立route.php namespace core lib u...

vue學習筆記(二) 路由配置

在router index.js檔案中對所有的路由資訊進行配置。首先引入vue和vue router import vue from vue import vuerouter from vue router 使用vue router vue.use vuerouter 引入待配置的檢視元件 impo...

WPF 二 路由事件1 冒泡路由事件

wpf中的路由事件是具有更強傳播能力的事件,它們可以在元素樹中向上冒泡和向下隧道傳播,並且沿著傳播路徑被事件處理程式處理。下面的例子演示了事件冒泡的過程。window x class prj05 1.mainwindow xmlns xmlns x title bubbledlabelclick h...