MVC3 Могут ли два действия контроллера вернуть одно представление? - PullRequest
11 голосов
/ 09 января 2012

У меня есть два метода действия в моем контроллере.Я хочу, чтобы оба возвращали одно представление.

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

Эта логика требуется по крайней мере 15 раз, и я хочу создать отдельные действия, которые возвращают модель, кроме одного представления.Возможно ли это?

Ответы [ 2 ]

17 голосов
/ 09 января 2012

Вы просто должны указать это имя представления в вашем операторе возврата:

public ActionResult SomeAction()
{
    // do something
    return View("SharedView", viewModel);
}

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

1 голос
/ 09 января 2012
return View("viewName", data);

Первый параметр сообщает платформе, из какого представления следует визуализировать, а второй параметр используется для предоставления данных для этого представления.Во-вторых, вы можете использовать

return RedirectToAction("actionName",new{data=something});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...