2010-06-27 54 views
0

同樣一個簡單的問題以外爲ASP.NET MVC 2.ASP.NET MVC2創建ViewResults控制器

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

     } 

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

的問題是,我想返回的視圖,其是電流控制器的外部。我不想重定向,因爲我想將模型交給下一個視圖。 「視圖」 - 方法不允許指定控制器。上面的「返回視圖...」顯然不起作用。

我相信這裏有一個簡單的解決方法:)

回答

2

如果您的視圖用於通過把它放在共享多個控制器的意見,而不是特定的控制器的視圖文件夾中的文件夾。然後你可以簡單地通過它的名字來引用它,如果不同於動作的名字。

0

你需要一個擴展

return View("~/Path/To/View.aspx", model); 
+0

這是行不通的。 – Sparhawk 2010-06-27 20:30:01

+0

當然可以... – 2010-06-27 20:33:20

1
public ActionResult MyAction(MyModel model) 
{ 
    if(ModelState.IsValid) 
    { 
     return RedirectAction("..."); 
    } 
    ControllerContext.RouteData.Values["controller"] = "SomeOtherController"; 
    return View("Index"); 
} 

會指導你做SomeOtherController文件夾下Index視圖。