Может кто-нибудь объяснить мне одну вещь.
У меня есть два метода в моем контроллере:
public ActionResult AddPredefinedTicket(int customerId) {...}
и
public ActionResult AddPredefinedTicket(int customerId, TicketTypes type, string additionalJsonParameters) {...} (here TicketTypes is enum)
Я пытаюсь позвонить с использованием URL, например
<a href="http://.../Ticket/AddPredefinedTicket?customerId=1082" rel="nofollow noreferrer">http://.../Ticket/AddPredefinedTicket?customerId=1082</a>
По какой-то причине я получил исключение:
The current request for action 'AddPredefinedTicket' on controller type 'TicketController' is ambiguous between the following action methods:
System.Web.Mvc.ActionResult AddPredefinedTicket(Int32) on type CallCenter.CustomerService.Controllers.TicketController
System.Web.Mvc.ActionResult AddPredefinedTicket(Int32, CallCenter.CustomerService.Data.Models.TicketTypes, System.String) on type CallCenter.CustomerService.Controllers.TicketController
Но я не понимаю, почему MVC считает, что запрос неоднозначен.
Как вы можете видеть из моего URL-вызова, я не передаю ни параметры «type», ни «AdditionalJsonParameters».
Я понимаю, что дополнительные JsonParameters - это строка, поэтому она может быть нулевой.
Но у действия также есть параметр "type", то есть enum, и он не может быть нулевым.
По моему мнению, MVC должен использовать первое действие, но это не так.
Можете ли вы объяснить, почему?