Navigatie

Contact

Send mail to the author(s) E-mail

View Richard Soeteman's profile on LinkedIn

RSS 2.0 | Atom 1.0 | CDF

Archief

Categorieën

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Sign In

Zoeken

# Tuesday, 01 November 2005
Tuesday, 01 November 2005 16:50:42 (GMT Standard Time, UTC+00:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

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

Comments [0] | | # 
Comments are closed.