Julekalender 2004 om Whidbey


6. dec 2004 15:12

Vi har hos Captator kodet og haft stor nytte af Url Mapping. Url Mapping giver mulighed for at bestemme den logiske forbindelse mellem en url og den kode, der afvikler funktionaliteten for denne url. Du kan dermed gøre det mere overskueligt for brugeren, hvor vedkommende befinder sig på dit website uden at gå på kompromis med struktureringen af koden.

I ASP.NET 2.0 er Url Mapping indbygget og det er ganske nemt at benytte sig af. For eksempel kan man angive at requests til http://www.ditsite.dk/HovedSide processeres af http://www.ditsite.dk/DinFolder/HendesFolder/MinSide.aspx. Du kan også sende parametre med i redirectet, så du ved, hvad brugeren tastede ind i adresselinien.

Opsætningen foretager du i Web.Config-filen. De mappede url'er er selvfølgelig relative og kan ikke sende brugeren væk fra dit site.

  <system.web>
    <urlMappings enabled="true">
      <add url="~/Jul2004" mappedUrl="~/HighTime.aspx?name=jul&year=2004" />
      <add url="~/Fastelavn2005" mappedUrl="~/HighTime.aspx?name=fastelavn&year=2005" />
    </urlMappings>
    <!--
    ...andre web-settings...
        -->
  </system.web>

I den kode, der skal behandle requestet, kan du nu fiske parametrene ud og gøre noget fornuftigt ud fra værdierne. Eller du kan gøre som nedenunder for at illustrere konceptet :^)

  public partial class HighTime_aspx
  {

    protected override void OnLoad(System.EventArgs e)
    {
      string højtid = Page.Request["name"];
      string year = Page.Request["year"];
      if (højtid == "jul")
        litText.Text = string.Format("Julen {0} er i gang.", year);
      else if (højtid == "fastelavn")
        litText.Text = "Et øjeblik. Siden skal liiige have kostume på. "
          + "Regner med at være færdig i " + year;
      else
        litText.Text = "Ingen gaver. Ingen kostumer. Bare fredelig hverdag! :-D";
    }
  }


Abonnér på mit RSS feed.   Læs også de øvrige indlæg i denne Blog.