我想在我的控制器有两个方法具有相同的路由,但只有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