Member 12824529 Ответов: 1

В MVC, как я могу заставить его вернуться на страницу сведений после нажатия кнопки сохранить на странице редактирования?


У меня есть автогенерированный набор MVC; и в данном конкретном случае я использую только страницы просмотра деталей и редактирования, так как идентификатор определяется в другом месте, а создание, удаление и индексация неприменимы. Следовательно, у меня есть другой контроллер, непосредственно вызывающий страницу сведений с идентификатором, и со страницы сведений вы можете перейти на страницу редактирования как обычно. Это не изменилось.

Моя проблема заключается в том, что когда пользователь нажимает кнопку Сохранить на странице редактирования, он следует своему обычному шаблону маршрутизации к имени контроллера, который по умолчанию возвращается обратно на страницу индекса. Я, конечно, хочу, чтобы он вернулся на страницу сведений (после успешного сохранения изменений) и полностью проигнорировал индексную страницу.

Нет никаких параметров в Html. Beginform () на странице редактирования и ничего другого, что я могу видеть, что предопределяет, что он вернется на индексную страницу после нажатия кнопки Сохранить.

Как я могу заставить его вернуться на страницу сведений после нажатия кнопки Сохранить на странице редактирования?

Заранее благодарю вас за любую помощь, которую вы можете мне оказать.

Что я уже пробовал:

Я попробовал перенаправить действие контроллера индекса, но оно просто переходит на пустую страницу.

индекс общественного недействительными ()
{
RedirectResult rr = RedirectPermanent (@"myController\Details\" + ViewBag.идентификатор клиента);
}

Я также попытался добавить параметры контроллера, действия и идентификатора в директиву HTML.Beginform() без параметров на странице редактирования; но хотя она перенаправляет на страницу сведений по желанию, изменения со страницы редактирования не сохраняются.

1 Ответов

Рейтинг:
5

Passion4Code

Привет,

Если вы публикуете форму и сохраняете ее, то после успешного сохранения верните пользователя на страницу сведений с помощью метода RedirectToAction.
Контроллер.Метод RedirectToAction (System. Web.Mvc)[^]
Это перенаправит пользователя и приведет его на нужную страницу.

Спасибо


Member 12824529

Спасибо. Да, я поместил это в индекс ActionResult, и он работает:

return RedirectToAction ("Details", new { id = Convert.ToInt32 (Session ["Assmt_ID"].Метод toString()) });