有人知道如何使用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();
}
我已经尝试过两种方法,但它不起作用。
答案 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");
}