3
我在應用程序中使用Razor,HTML5,MVC3和C#,在用戶點擊一個鏈接後,我打開一個新窗口,做一些處理,然後想要將該窗口重定向到一個鏈接。如何使用MVC3和ASP.Net執行302重定向?
謝謝。
我在應用程序中使用Razor,HTML5,MVC3和C#,在用戶點擊一個鏈接後,我打開一個新窗口,做一些處理,然後想要將該窗口重定向到一個鏈接。如何使用MVC3和ASP.Net執行302重定向?
謝謝。
在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
)