I want to hide page name in browser.
For example;
www.mysite.com/page1.aspx
www.mysite.com/page2.aspx
www.mysite.com/page3.aspx
I wan
use ajax to load your content or use one big <frameset>
.
But, don't do it. It will break the possibility for users to make bookmarks, make it harder / impossible for Google to crawl your website.
If you are desperate and having trouble with other options you could do the follow. I definitely wouldn't recommend this approach because it's ugly but it would probably get the job done:
On www.mysite.com/page[1|2|3].aspx Page_Load method, issue a Response.Redirect("www.mysite.com/") if and only if Request.UrlReferrer is not www.mysite.com/page[1|2|3].aspx
On www.mysite.com/[default.aspx], issue a Server.Transfer("page[1|2|3].aspx") if the Request.UrlReferrer is www.mysite.com/page[1|2|3].aspx. Server.Transfer will pull the page on the server side and respond with the result, rather than issuing a 301 redirect so the user will still see www.mysite.com/ on their browser.
You can use Uri. Create a new Uri
object and then use the Host
method.
See ScottGu's explanation about this issue here : Tip/Trick: Url Rewriting with ASP.NET
how do you identify what page you should use?
Your could use url rewriting module(iis) for friendly urls like these:
www.mysite.com/page/1
www.mysite.com/page/2
www.mysite.com/page/3
Obfuscating the actual URL is very bad practice both in usability and debugging.
If you really, really need to do it you can use HTML frames by having a parent frameset page at your desired url and your actual pages in a full-width full-height frame inside the frameset.
http://www.w3.org/TR/WD-frames-970331