@Url.Action выбрал неправильное действие (AttributeRouting, asp.net mvc 5)
У меня есть контроллер, который имеет эти два метода действий:
Оба имеют одно и то же имя, но имеют разные параметры, один из них - HttpGet, другой - HttpPost.
public class TestController : Controller {
[Route("Test/{id:int}/ActionName"), HttpGet]
public ActionResult ActionName(int id) { ... }
[Route("Test/ActionName"), HttpPost]
public ActionResult ActionName(TestObject obj) { ... }
}
public class TestObject {
public string Prop1 { get; set; }
public string Prop2 { get; set; }
}
Когда я делаю @Url.Action("ActionName", new { id = 3 })
Я ожидаю, что будет выбрано действие HttpGet, но вместо этого будет действие HttpPost.
Я знаю, что если я установлю Order на 1 на первом маршруте и 2 на втором, он будет работать, как и ожидалось, но я хочу знать, почему он не был выбран в первую очередь.