#asp.net-core-mvc
Вопрос:
Я создаю основное приложение ASPgt;NET MVC, используя EF. В моем контроллере есть два метода Inventories
Index() и OrderItem() . Когда вызывается метод OrderItem (), он выполняет какое-то действие, и как только действие завершено, я пытаюсь вернуться на страницу индекса. Index() нуждается во входном идентификаторе в качестве входного параметра, в противном случае он возвращает NOTFOUND().
Индекс() выглядит так, как показано ниже
public async Tasklt;IActionResultgt; Index(int? id, string sortOrder, string searchString, int? pageNumber, string currentFilter) { if (id == null) { return NotFound(); } ...................... }
Другой метод с тем же контроллером, где я пытаюсь вернуться к индексу, выглядит следующим образом
return RedirectToAction("Index", "Inventories", new { customerID });
Когда действие завершено и код пытается вернуть страницу индекса, URL похож https://localhost:44330/Inventories?customerID=460
, и я получаю ошибку «Не найдено».
Как сделать так, чтобы перенаправление работало, чтобы URL выглядел так https://localhost:44330/Inventories/Index/460
Комментарии:
1. Не могли бы вы разместить здесь свой глобальный файл.asax и содержимое дочерних файлов, пожалуйста? Как зовут вашего контроллера?
2. Имя контроллера таково
Inventories
. У меня нет глобального файла.asax3. Попробуйте выполнить поиск методом типа: общедоступные статические пустые маршруты регистрации(маршруты сбора маршрутов) с последовательностью типа: маршруты. Карта маршрута. У тебя есть немного? Что такое содержание метода?
4. Я не вижу
RegisterRoutes
способа. Это мое первое веб-приложение в .NET mvc core, использующее EF
Ответ №1:
попробуйте изменить это: верните перенаправление(«Индекс», «Запасы», новый { Идентификатор клиента });
к этому (если вы перенаправляете действие внутри одного и того же контроллера):
вернуть перенаправление(«Индекс», новый { Идентификатор клиента = Идентификатор клиента });
или: вернуть перенаправление(«Индекс», новый { «Идентификатор клиента» = Идентификатор клиента });
левая клавиша должна совпадать с именем параметра вашего маршрута, но она не может повлиять на имя вашей переменной