2013-06-12 78 views
3

如何在ASP MVC 4中重定向頁面?在沒有302狀態碼的ASP MVC 4中重定向

我試過Redirect,RedirectPermanent,RedirectToAction等等。但它就像HTTP重定向(使用http-equiv refresh),而不是標題重定向。它將首先顯示標題狀態302,然後重定向。我想頭球像php header('location:/');

 

[HttpGet] 
public ActionResult SignOut() 
{ 
    UtilsHelper.NoCache(); 
    session.Destroy(); 
    return RedirectToAction("Index", "Home"); 
} 
+0

直接調用控制器方法。有關示例,請參閱[這裏](http://stackoverflow.com/questions/1296680/net-mvc-call-method-on-different-controller)。 –

+0

但是,我想重定向,而不是顯示來自不同控制器的方法的結果。 –

+3

不,你不知道。如果你真的想重定向,你會和302一起生活。它的語義是正確的。 –

回答

3

重定向如果你真的擔心重定向代碼,你可以在一個較低的水平控制。

[HttpGet] 
public ActionResult SignOut() 
{ 
    UtilsHelper.NoCache(); 
    session.Destroy(); 
    HttpContext.Response.Clear(); 
     HttpContext.Response.StatusCode = 302; //change it to 301? 
     HttpContext.Response.RedirectLocation = "/"; 
     HttpContext.Response.End(); 
} 

我不知道302這裏有什麼問題嗎?

+0

返回值呢? –

+0

@BiasTegaralaga應該返回的東西,但它會首先重定向,所以返回值無關緊要。 – Adrian