URL Mapping is nieuw in Asp.Net 2.0 en wordt gebruikt om een alias als url te kunnen gebruiken. Dit kan erg handig zijn wanneer je een pagina ontwikkelt, welke afhankelijk is van een parameter in de querystring (bijvoorbeeld http://www.mijnsite.nl/default.aspx?pageid=1 voor de homepage). Je wilt dat de bezoeker alleen maar http://www.mijnsite.nl/home te zien krijgt.
Onderstaande sectie in de web.config geeft aan dat de bezoeker bij het opvragen van http://www.mijnsite.nl/home in werkelijkheid http://www.mijnsite.nl/default.aspx?pageid=1 opvraagt. Ook is het mogelijk een andere paginanaam op te geven (bv profile.aspx) voor de url default.aspx?pageid=4.
<urlMappings enabled="true">
<add url="~/home" mappedUrl="~/default.aspx?pageid=1"/>
<add url="~/blog" mappedUrl="~/default.aspx?pageid=2"/>
<add url="~/faq" mappedUrl="~/default.aspx?pageid=3"/>
<add url="~/profile.aspx" mappedUrl="~/default.aspx?pageid=4"/>
</urlMappings>
In het code behind bestand van default.aspx kan je vervolgens de pagina benaderen alsof deze direct werd opgevraagd. Onderstaande code bekijkt welke pagina werd opgevraagd.
switch (Context.Request["pageid"]){
case "1" :
lblOut.Text = "Home";
break;
case "2":
lblOut.Text = "Blog";
break;
case "3":
lblOut.Text = "Faq";
break;
case "4":
lblOut.Text = "Profile.aspx";
break;
default:
lblOut.Text = "Default.aspx";
break;
}
Bijgevoegd zip bestand bevat bovenstaande web.config en code. Download