Otóż na pytanie czy można przeładować metody Action w ASP.NET MVC – tak, można. A teraz powiemy sobie jak. Pierwsze co zgodnie z tym co zwykliśmy robić przychodzi nam zapewne do głowy to coś takiego:
Mianowicie mamy tutaj dwie metody o różnych sygnaturach. Zdawałoby się, że jest w porządku. Jednak próba odwołania się do tego kontrolera zaowocuje następującym błędem:
Aplikacja nie jest w stanie rozróżnić, którą metodę wywołać.
Z pomocą przychodzi nam tutaj atrybut pozwalający określić “ActionName”. Zobaczmy jak wówczas wyglądałby kod:
Wówczas odwołanie do pierwszej metody wyglądałoby następująco i dawałoby następujący rezultat:
Natomiast do drugiej:
Możemy zauważyć iż w pierwszym przypadku ścieżka się nie zmieniła. Natomiast w drugim mamy w URL dodatkowy parametr – jest nim właśnie ActionName, który pozwala aplikacji rozróżnić, którą metodę wywołać.