2011-06-18 32 views

回答

9

在ASP.NET MVC中這樣做的正確方法是通過一個控制器操作返回一個重定向ActionResult。所以控制器動作中要調用此窗口和做處理簡單地返回了相應的ActionResult執行重定向:

public ActionResult Foo() 
{ 
    // ... some processing 
    return RedirectToAction("SomeAction", "SomeController"); 
} 

Foo動作被調用(假設新窗口內),它會做處理並返回一個302 HTTP狀態代碼給客戶端,其新位置爲/SomeController/SomeAction

如果你想重定向到您的應用程序的某些外部URL,你可以做到以下幾點:

public ActionResult Foo() 
{ 
    // ... some processing 
    return Redirect("http://someotherdomain.com/somescript"); 
} 

至於創建一個鏈接,將在新窗口/標籤而言,你可以追加打開target="_blank"錨點上的屬性:

@Html.ActionLink(
    "Some link",     // linkText 
    "Foo",      // action 
    "SomeController",   // controller 
    null,      // routeValues 
    new { target = "_blank" } // htmlAttributes 
)