2012-07-24 116 views
1

在一個MVC控制器我有以下幾點:MVC重定向的ActionResult

public virtual ActionResult Test() { 
    ActionResult result = MVC.Home.Index(); 
    return RedirectToAction(result); 
    return View(); 
} 

這重定向到的結果。視圖永遠不會返回。

現在我需要做的事情如下:

public virtual ActionResult Test() { 
    ActionResult result = MVC.Home.Index(); 
    MyClass.RedirectTo(result, this); 
    return View(); 
} 

哪裏MyClass.RedirectTo方法如下:

public static void RedirectTo(ActionResult result, Controller controller) { 
    controller.Response.Redirect(result.ToString());    
} 

但是,在這種情況下,重定向不會發生。

返回視圖。有誰知道如何做到這一點?

+1

我有3個問題:1)你爲什麼在控制器中使用虛擬方法? 2)在1個方法中,如何用天堂的名字寫2個return語句? 3)你能否用純文本解釋你實際上想要達到什麼目的? – Yoeri 2012-07-24 22:05:03

+0

你到底想把你的用戶帶到哪裏? – 2012-07-24 23:22:26

+0

你好。我在我的控制器中使用虛擬。但在嘗試這個之後,我認爲我想做的事情是不可能的。我試圖找到另一種方式......基本上在我的控制器上,我得到了一個DTO響應。響應包裝了DTO模型和關於例外的信息。基本上,我正在嘗試爲那些會在錯誤時觸發RedirectToAction的響應創建Fluent驗證...但我現在明白我的行事方式是不可能的。 – 2012-07-25 01:54:58

回答

0

嗨,你必須重定向到一個特定的動作特定的控制器上

e.g 返回RedirectToAction( 「指數」, 「ControllerName」);