MVC路由靜態化

2022-01-12 07:20:17 字數 1712 閱讀 5519

mvc 標準的寫法 通常是(http://localhost:8149/home/index) 路由配置如下:

有時候需求 如 http://localhost:8149/home/index 改為http://localhost:8149/index.html 讓其看起來更加像乙個靜態**12

//配置首頁 偽靜態 路由

routes.maproute("pc_index","index.html",new);

然而解決方式一(不建議)修改 web.config 檔案  12

34

這種方式強烈不建議:

1、這些問題的形式是使所有註冊的http模組在每個請求上執行,而不僅僅是託管請求(例如.html)。 這意味著模組將永遠執行.jpg .gif .css .aspx等

2、浪費資源

3、並具有可能導致錯誤的全域性效應

更好的解決方案(方式二)12

3456

更好的解決方案(方式三)12

345

mvc有專門獲取路由引數的方式,在不同的地方,獲取路由引數的方式也不一樣,這裡分別說一下,在controller,非controller的類裡面,和view裡如何獲取路由引數:

1.在controller裡獲取路由引數:

1varcontroller = routedata.values["controller"];//action,id或其他路由引數同理

2.在view中獲取:

1

3.在非controller的類中:

MVC 偽靜態路由

定義url html.actionlink html get page new 這url是呼叫本控制器下面的的get page方法,傳參id 定義路由 routes.maproute name urlhtml url html 註冊路由 routeconfig.registerroutes rout...

mvc 路由偽靜態實現

很多 都採用偽靜態,例如以html shtml等結尾的url,mvc的路由可以輕鬆實現。mvc的路由原理是從上往下匹配的,所以只需要在後面新增自己配置的路由即可 public static void registerroutes routecollection routes axd routes.m...

mvc 路由偽靜態實現

很多 都採用偽靜態,例如以html shtml等結尾的url,mvc的路由可以輕鬆實現。mvc的路由原理是從上往下匹配的,所以只需要在後面新增自己配置的路由即可 public static void registerroutes routecollection routes axd routes.m...