我需要創建一個自定義路由映射,使我能夠匹配某個url映射中的任何操作。 例如:www.site.com/patient/records/treatments/23
其中treatments
可能是pacient控制器中的任何操作。匹配自定義路由中的任何動作
這裏就是我有嘗試,但不工作:
routes.MapRoute("records_ho", "{controller}/records/{action}/{recordid}", new {
controller = "patient", recordid = UrlParameter.Optional
});
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "User", id = UrlParameter.Optional }
);
正如你可能已經通知,我沒有指定在「records_ho」和多數民衆行動的財產,因爲我想,以避免在圖路線specifing的在控制器Pacient
中定義了15個動作。
我該如何做到這一點?
更新: 這裏是行動
[HttpGet]
public ActionResult Treatments(string recordid)
{
// some code here...
return View(model);
}
@EugeneKomisare nko我對MapHttpRoute的api路由不太瞭解,但是,似乎是這樣。 –
你測試了自己的路線嗎?剛剛嘗試過,在我身邊沒有任何問題,例如能夠呈現沒有問題的'/ patient/records/index/100'和'/ patient/records/contact/100'。你會得到什麼錯誤? –
即使沒有指定動作屬性? –