В то время как ASP.NET MVC позволит вам иметь два действия с одним и тем же именем, .NET не позволит вам иметь два метода с одинаковой сигнатурой - то есть с одинаковым именем и параметрами.
Вам нужно будет по-разному называть методы, используя атрибут ActionName
, чтобы сообщить ASP.NET MVC, что на самом деле это одно и то же действие.
Тем не менее, если вы говорите о GET
и POST
, эта проблема, скорее всего, исчезнет, поскольку действие POST
будет принимать больше параметров, чем GET
, и, следовательно, будет различимым.
Итак, вам нужно:
[HttpGet]
public ActionResult ActionName() {...}
[HttpPost, ActionName("ActionName")]
public ActionResult ActionNamePost() {...}
Или:
[HttpGet]
public ActionResult ActionName() {...}
[HttpPost]
public ActionResult ActionName(string aParameter) {...}