ASP.NET MVC2 Создание ViewResults вне контроллеров - PullRequest
0 голосов
/ 28 июня 2010

Опять простой вопрос для ASP.NET MVC 2.

public ActionResult MyAction(MyModel model)
    {
        if (ModelState.IsValid)
        {
           // do great stuff and redirect somewhere else

        }

        // model has errors
        return View("~/Home/Index", model);
    }

Вопрос в том, что я хочу вернуть представление, которое находится за пределами текущего контроллера. Я не хочу перенаправлять, так как хочу передать модель следующему представлению. Метод «Просмотр» не позволяет указать контроллер. Вышеупомянутый «возвратный просмотр ...» явно не работает.

Я уверен, что здесь есть простой обходной путь:)

Ответы [ 3 ]

2 голосов
/ 28 июня 2010

Если ваше представление используется более чем одним контроллером, поместите его в папку «Общие представления» вместо папки представления определенного контроллера. Тогда вы можете просто обратиться к нему по его имени, если оно отличается от названия действия.

1 голос
/ 28 июня 2010
public ActionResult MyAction(MyModel model)
{
    if(ModelState.IsValid)
    {
        return RedirectAction("...");
    }
    ControllerContext.RouteData.Values["controller"] = "SomeOtherController";
    return View("Index");
}

поможет вам сделать Index просмотр в папке SomeOtherController.

0 голосов
/ 28 июня 2010

Вам понадобится расширение

return View("~/Path/To/View.aspx", model);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...