ASP.Net MVC 3 - один контроллер, одно действие и несколько представлений - PullRequest
1 голос
/ 06 сентября 2011

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

Примером этого может служить форма редактирования, которая отображает представление «Подробности» при нажатии кнопки «Сохранить», но без использования перенаправления.

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

Ответы [ 2 ]

6 голосов
/ 06 сентября 2011

Метод View() перегружен, что позволяет указать имя представления, которое вы хотите вернуть.

3 голосов
/ 06 сентября 2011

Вы должны использовать шаблон Post / Redirect / Get. Вы все еще можете «показывать вещи». Вы можете передать идентификатор по URI и найти его в новом GET или использовать TempData.

Попытка обойти Post / Redirect / Get - не хорошее решение. Помимо прочего, ломается кнопка возврата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...