重定向到另一台服务器 - ASP MVC

时间:2010-07-27 14:14:31

标签: asp.net-mvc redirect

有人知道如何使用ASP.NET MVC重定向到另一台服务器/解决方案吗?像这样:

public void Redir(String param)
{
   // Redirect to another application, ie:
   // Redirect("www.google.com");
   // or
   // Response.StatusCode= 301;
   // Response.AddHeader("Location","www.google.com");
   // Response.End();

}

我已经尝试过两种方法,但它不起作用。

3 个答案:

答案 0 :(得分:4)

    public ActionResult Redirect()
    {
        return new RedirectResult("http://www.google.com");
    }

希望这会有所帮助: - )

答案 1 :(得分:3)

RedirectResult将为您提供302,但如果您需要301,请使用此结果类型:

public class PermanentRedirectResult : ActionResult
{
    public string Url { get; set; }

    public PermanentRedirectResult(string url)
    {
        if (string.IsNullOrEmpty(url))
        {
            throw new ArgumentException("url is null or empty", "url");
        }
        this.Url = url;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        if (context == null)
        {
            throw new ArgumentNullException("context");
        }
        context.HttpContext.Response.StatusCode = 301;
        context.HttpContext.Response.RedirectLocation = Url;
        context.HttpContext.Response.End();
    }
} 

然后像上面提到的那样使用它:

public PermanentRedirectResult Redirect()
{
    return new RedirectResult("http://www.google.com");
}

来源(因为这不是我的工作):http://forums.asp.net/p/1337938/2700733.aspx

答案 2 :(得分:1)

//这不符合我的情况,所以我在这里做了一些技巧。

public ActionResult Redirect()
{
     return new PermanentRedirectResult ("http://www.google.com");
}