2
我想建立一個具有正常CRUD操作的控制器的路由,但希望詳細信息操作不在URL中顯示'詳細信息'。計算器似乎有這種類型的路由配置:如何刪除MVC URL路由中的'Details',但保持其他操作不變?
http://stackoverflow.com/questions/999999/
http://stackoverflow.com/questions/ask
使用這個比喻,我的路線目前是這樣的:
http://stackoverflow.com/questions/Details/999999/
通過將以下途徑我能得到Details
刪除:
routes.MapRoute("Q1", "questions/{id}",
new { controller = "Questions", action = "Details" });
但是,拉起控制器上的其他動作(例如本例的/questions/new
)是抱怨無法解析id。
有沒有一種方法來設置路由,以便我不必手動輸入所有其他操作(MapRoute「items/create」,「items/delete」等)到Global.asax中的.cs?我基本上是想有一個像第二條路線:
routes.MapRoute("Q2", "questions/{action}",
new { controller = "Questions", action = "Index" });
...並具備路由引擎使用路線Q1如果{id}
整數匹配,並且{action}
如果它是一個字符串。這可能嗎?
這工作完美。但請注意,約束條件需要讀作@「\ d +」。 – Jason 2009-06-16 13:16:20