ASP.NET MVC Как указать действие контроллера на другое представление? - PullRequest
4 голосов
/ 19 ноября 2010

У меня есть контроллер с методом, который указывает на представление. Как изменить представление, на которое отображается действие? Как я хочу, чтобы он вызывал ViewB вместо ViewA? Где существуют эти сопоставления и как я могу их изменить? Спасибо за любые советы.

Спасибо
~ ck в Сан-Диего

Ответы [ 5 ]

8 голосов
/ 19 ноября 2010

Вместо:

return View(someModel);

используйте

return View("ViewYouWant", someModel);
7 голосов
/ 19 ноября 2010

Чтобы метод контроллера перенаправлялся в представление, имя которого не совпадает с методом действия, вы можете изменить оператор с

 return View();

на

 return View("ViewB");
2 голосов
/ 19 ноября 2010

Вы также можете вернуть RedirectToAction("View"), или с Javascript

 json(new { Redirect = url.Action(action, data) }, JsonRequestBehavior.AllowGet);

и обработать возврат соответствующим образом на стороне клиента.

Удачной охоты!

1 голос
/ 19 ноября 2010

Вы можете сделать по умолчанию:

return View(myModel);

Или укажите имя просмотра в тех же папках вида контроллера или в общих:

return View("ThatView", myModel);

Или как угодно:

return View("~/myfolder/WhatEverView.ascx", myModel);
1 голос
/ 19 ноября 2010

Вы можете передать имя представления в метод View: http://msdn.microsoft.com/en-us/library/system.web.mvc.controller.view.aspx

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