2013-12-09 2 views
0

Возможно ли, чтобы один метод действия мог визуализировать два разных вида в дальнейшем. И если возможно, выберите пользовательский ввод с первого взгляда и используйте его во втором представлении?MVC Action Method - несколько видов

+0

Почему вам нужно две точки зрения на это? Вы не можете использовать что-то вроде http://jqueryui.com/tabs/? –

ответ

3

Да, вполне возможно. И это может быть несколько видов или даже FileResult или другой тип результата.

public ActionResult MyAction() { 
    if(/*logic here*/) 
     return View("ViewOne"); 
    else 
     return View("ViewTwo"); 
} 
+0

Немного сложнее. ViewOne отправит параметр (сообщение или ссылку) обратно в метод действия, а затем этот параметр будет отправлен в метод «ViewTwo». – Jude

+0

@Jude Вы можете перейти в различные ViewModel в зависимости от потребностей вашего представления. Вы можете создать новую ViewModel для ViewOne, а затем другую ViewModel для ViewTwo в рамках одного и того же действия. –

1

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

Для переключения между режимами просмотра Вы можете указать параметр:

return View("MyFirstView", viewModel); 

или

return View("MySecondView", viewModel); 
+1

С точки зрения технического зрения, представления не должны иметь одну и ту же модель представления, реализованную в рамках одного и того же действия. До тех пор, пока контроллер переходит в ожидаемый тип. Если у вас есть разные типы моделей взглядов в рамках одного действия, это разные дебаты. –

Смежные вопросы