#c# #asp.net #asp.net-mvc #asp.net-core-mvc
Вопрос:
Итак, я пытаюсь использовать RedirectToAction()
для перенаправления на другое действие в том же контроллере. Однако все, что я пробовал, не сработало. В идеале я хочу иметь возможность вводить ссылку /projects/assign/2
и перенаправляться на /projects/create
страницу. Примеры того, что я пробовал:
[HttpGet]
public IActionResult Assign(int? id)
{
return View("Create", id);
}
И:
[HttpGet]
public IActionResult Assign(int? id)
{
return View("Create");
}
Когда я ввожу /projects/assign/2
адресную строку, я получаю сообщение об ошибке, в котором говорится:
«Эта страница не работает. Если проблема не устранена, обратитесь к владельцу сайта «.
На данный момент я не уверен, что я делаю неправильно и как заставить это работать.
Любая помощь / совет приветствуется! Спасибо!
Комментарии:
1. Это имя
projects
вашего контроллера?2. Да, это так, извините, я не упомянул об этом.
Ответ №1:
Примените следующие Route
атрибуты:
[Route("Create/{id:int?}")]
[Route("Assign/{id:int?}")]
public IActionResult Create(int? id)
{
...
}
Для получения дополнительной информации см. Маршрутизацию в ASP.NET Ядро
Ответ №2:
просто исправьте маршрут действия
[HttpGet("{id?}")]
public IActionResult Assign(int? id)
{
return View("Create", id);
}