我想爲控制器創建一些URL約束來防止空引用異常。數字標識的URL約束
例如
/文件夾/編輯/ 3應該沒問題
/文件夾/編輯/航空自衛隊不應該沒關係
而是對每一個動作方法添加正則表達式的我想爲此使用URL約束。
我現在面臨的問題是,默認路由捕獲所有請求,或者如果我將該約束添加到默認路由,標準請求http://host.tld/不再工作。
我想添加的約束是
routes.MapRoute(
"RouteWithContraint",
"folder/edit/{id}",
new { controller="folder", action="edit", id="" },
new { id = @"\d+" }
);
有沒有人有關於如何解決這個問題對我來說是暗示?或者,也許有人知道DRY的「IsANumber」檢查ID的最佳做法?
最好的問候,
戈登
一個原創的方法+1:) 但我認爲是壓倒性的,你怎麼看? 也許有什麼我們可以直接與路線.. – SDReyes 2010-02-10 23:04:57
是的,這是關於快速解決方案。適當的可能會擴展路由功能等等。 – 2010-02-18 15:21:52