【原創】mvc tips:建立可刪節的url
前一段時間,在博問中提了個小問題。http://space.cnblogs.com/question/2823/
全文引用如下:
現在我想實現以下的url地址,搞不出來了
/U/Tea/{pageindex}
/U/Tea/{teaType}/{pageindex}
那么Global.asax.cs里的路徑規則和Controller里面分別怎么設置?
我現在遇到的問題是這樣的地址
/U/Tea/Green
會默認到第一條規則然后說不能轉換為int
而不是到我期望的第二條規則,默認頁是1的。
當時承蒙園子里mvc之達人重典老大的回答,找到了一個臨時的解決方案。不過這個方案無法實現可刪節url。后來,抽出空,我又仔細的想了想,其實要我要求的url還是可以實現的,因為mvc的地址規則是支持正則表達式的。我們只要把是第一個參數是數字的歸到路徑一,其他類似歸到路徑二就好了。唯一注意的是teaType不能用數字而已。既然知道了思路,說干就干。
routes.MapRoute(
"Tea",
"U/Tea/{pageIndex}",
new { controller = "U", action = "Tea", pageIndex = 1 },
new { pageIndex = @"\d{1,8}" });
routes.MapRoute(
"TeaType",
"U/Tea/{teaType}/{pageIndex}",
new { controller = "U", action = "TeaType", teaType = string.Empty, pageIndex = 1 });增加了這兩條路徑規則以后,基本就實現了我問題里要求的。目前為止,我的項目中就是這么使用的,而且運轉良好。各位達人有什么其他好辦法歡迎指教、探討。



浙公網安備 33010602011771號