Eventually, the question of how to use 301 redirects comes up in every SEO forum. You can find a quick guide that gives code snippets for ASP, ASP.NET, PHP, ColdFusion, as well as instructions for IIS and htaccess at www.webconfs.com/how-to-redirect-a-webpage.php. It also has a handy tool to test your redirection as well. Simple, direct, easy to understand...check it out.
For asp.net I do not believe it is quite well explained there. Sure, the code snippet works fine if you put it in Page_Load and don’t do anything else in the page but if you want to 301 redirect through something like Response.Redirect it’s not going to work simply because Response.End() is not called. This is how we do it in our software projects:
protected void Redirect301(string url)
{
Response.Status=”301 Moved Permanently”;
Response.AddHeader(“Location”,url);
Response.End();
}