我想在我的控制器有兩個方法具有相同的路由,但只有HTTP方法不同。特別是,如果我的路線看起來像是否有可能有2個方法(GET和POST)具有相同的路線?
routes.MapRoute(
name: "DataRoute",
url: "Sample/{user}/{id}/",
defaults: new { controller = "Sample", action = "--not sure--", user = "", id = "" }
);
,我有我的控制器2種方法爲這樣:
[HttpGet]
public void ViewData(string user, string id)
[HttpPost]
public void SetData(string user, string id)
期望的行爲是調用ViewData()
如果我得到Sample/a/b
並呼籲SetData()
如果我張貼到Sample/a/b
,相同的網址。
我知道我可以創建2條單獨的路線,但出於設計原因,我希望只有一條路線只通過GET
和POST
來區分。有沒有辦法配置路線或控制器來做到這一點,而不必創建一個新的路線?
簡短的回答是否定的。但是你不能通過URL發佈。它不清楚你想做什麼。 –
使用屬性路由,您應該能夠使用不同的方法設置相同的路由。 – Nkosi