Текущий запрос на действие "Индекс" для контроллера типа "DinnersController" неоднозначен между следующими методами действия
Я получаю эту ошибку после попытки поддержки пейджинга.
Я нахожусь на этом этапе учебника HTML: http://nerddinnerbook.s3.amazonaws.com/Part8.htm
2 ответа
Полученная ошибка говорит о том, что ASP.NET MVC обнаружил два действия с одинаковым именем и не может выбрать, какое из них использовать.
Если у вас есть два Index-действия в вашем DinnersController.cs
:
public ActionResult Index() {
а также:
public ActionResult Index(int? page) {
Затем вы должны удалить первое действие. так как второй является "обновленной" версией первого. Второе действие принимает запросы:
/ Обеды
/ Диннерс? Страница =2
/ Обеды / Index
/ Обеды /Index? Страница =2
И с изменением в RegisterRoutes он также принимает запросы:
/ Диннерс / Страница /2
Вы можете иметь два Действия с одним и тем же именем, при условии, что одно предназначено для сохранения (обратной передачи), где вы украсите действие сохранения с помощью [AcceptVerbs(HttpVerbs.Post)]
или просто [HttpPost]
MVC не поддерживает перегрузку методов действия в вашем контроллере. Невозможно иметь два действия Index() с разными сигнатурами методов на одном контроллере.
Для того, чтобы пример, который вы тестируете, работал, вы должны удалить действие Index(), которое не принимает никаких параметров, и заменить его действием, которое принимает значение NULL в качестве параметра.