Friday, January 29, 2010
Permanent Redirections with Response.PermanentRedirect Extension method
To redirect a page request to another page ASP.NET ships with Response.Redirect() since the v1 that takes a string Url as the input parameter.
You will recall that this is not a permanent redirect, you know that to be able to make a permanent redirect you will have to do something like this
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", StringUrl);
ASP.NET 4.0 now ships with a Response.PermanentRedirect() helper method that redirects the user permanently to a new page. Watch Joe’s quick hit video to see it in action.
Fortunately we don't need to wait for .NET 4.0 to have a fancy method like above, we can with the help of C# Extension methods, create a helper method today.
For example take a look at this code
public static void PermanentRedirect(this HttpResponse response, string StringUrl) {
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", StringUrl);
}
Now if you do a Response. you will see the static helper method in the intellisense.
Labels: .NET 2.0, .NET 3.5, .NET 4.0, ASP.NET, Extension methods