我已經通過已經問關於這一主題的各種問題看,我已經花了時間,試圖得到它的工作我怎麼想它,但我還沒有多少運氣這麼希望這裏有人能幫我填補空白。REST風格的ASP.NET MVC3路由
隨着我創建一個新網站,我想嘗試讓URL結構更加RESTful(我想用我的第一個MVC3創作,但時間不允許這樣的實驗)。但是,我不希望不同的URL都指向相同的操作。我希望對每個請求的資源採取不同的操作,以使控制器代碼簡潔直觀。
這裏的URL結構,我拍攝了一個例子:
/Case //This currently works
/Case/123 //This currently works
/Case/123/Comment //This one does not work (404)
這裏是我目前有我的路線設置:
routes.MapRoute(
"Case",
"Case/{id}",
new { controller = "Case", action = "Number" }
);
routes.MapRoute(
"CaseComment",
"Case/{caseId}/Comment/{id}",
new { controller = "Case", action = "CaseComment" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
列出的前兩個URL的我都工作正確使用此路線結構。第一個網址將我帶到我的列表頁面。當指定ID時,我點擊Number
動作,以便我可以顯示該特定記錄的詳細信息。 Comment
網址無效。
我已經第三URL的動作定義爲:
public ActionResult CaseComment(string caseId, string id) {
//Narr
}
我缺少什麼?而且,我能否以更簡單的方式爲未來的資源設置?