Позвольте мне сначала изложить здесь сценарий. Это делается с помощью ASP.NET 4.0, MVC3 и C #.
У меня есть картинная галерея. У меня есть менеджер альбомов в картинной галерее. В каждой галерее есть набор страниц.
Когда я использую диспетчер альбомов, в представлении отображается список текущих альбомов.
В списке альбомов можно выбрать для редактирования, удаления или управления страницами в этом альбоме.
При выборе управления страницами для альбома появляется список страниц, каждая из которых позволяет редактировать, удалять и просматривать.
Когда выбрана кнопка редактирования для страницы, и изменения внесены, а затем сохранены, возникает моя проблема.
Кнопка перехода к списку управляемых страниц из списка альбомов отправляет идентификатор через сообщение, чтобы скрыть идентификатор альбома и другие параметры.
Таким образом, представление для страниц создается контроллером [HttpPost]. Затем из представления для управления страницами при нажатии кнопки редактирования страница для редактирования создается контроллером [HttpPost] по той же причине (чтобы скрыть параметры).
Вот проблема: после нажатия кнопки сохранения в режиме редактирования данные отправляются в контроллер сохранения изменений через [HttpPost], но я не хочу возвращать вид редактирования (обновление приведет к повторной публикации изменений, и это не совсем лучший вариант). упражняться). Я хочу вернуться к списку страниц выбранного альбома. При этом я использую [HttpPost] из контроллера редактирования для перенаправления обратно на контроллер [HttpGet] для представления, в котором перечислены страницы для выбранного альбома. Когда я это сделаю, вызов будет выглядеть так:
return RedirectToAction("ManagePages", new { albumId = model.AlbumId });
К сожалению, это приводит к тому, что в URL-адресе отображается идентификатор альбома: http://XXX/ManagePages?AlbumId=56.
Как я могу вернуться в представление ManagePages для того же выбранного альбома, не показывая идентификатор альбома в списке параметров?