Artiklar » .NET 4.0 » Routes i ASP.NET Web Pages

 
 

Routes i ASP.NET Web Pages

Författare: vimpyboy
Datum: den 10 juli 2010
Antal lästa: 2309
Ej stjärnmärkt

I ASP.NET MVC kan vi enkelt få snygga URL:er, som till exempel /Produkter/Datorer för att visa alla produkter i kategorin datorer. Det här styr vi genom routes som vi skapar upp i global.asax, och vi kan sedan läsa in alla värden i vår controller. I ASP.NET Web Pages finns ett liknande stöd för routing.

När vi normalt vill anpassa vad vi vill visa så använder vi querystrings:

Products.cshtml?category=cars

Här går vi till Products.cshtml där vi plockar fram kategorin ”cars” och visar upp rätt innehåll. Då vi har inbyggt stöd för routes i ASP.NET Web Pages så kan vi surfa till den här sidan:

/Products/Category/Cars

Det som händer är att den först ser om Products.cshtml finns. Finns den så skickas /Category/Cars in som UrlData. Finns den inte så försöker den med /Products/Category.cshtml och skickar då in /Cars som UrlData osv.

Vi skapar nu upp en fil med namn Products.cshtml och surfar till Products/Category/Cars. Vi kan se att vi får upp Products.cshtml nu, vilket är ett bevis på att allt fungerar som det ska.

För att sedan få ut Cars ur URL:en så hämtar vi @UrlData[1]. Genom att hämta index 1 så får vi Cars, då index 0 är Category. Vill vi visa alla route-värden så kan vi loopa igenom UrlData då den implementerar IEnumerable<string>.

Den färdiga koden för Products.cshtml ser ut så här:

Kod:
<!DOCTYPE html>
<html>
  <head>
  <title></title>
  </head>
  <body>
  @UrlData[1]
  </body>
</html>



Det som renderas är:

Kod:
<!DOCTYPE html>
<html>
  <head>
  <title></title>
  </head>
  <body>
  Cars
  </body>
</html>



Vi kan sedan använda den här informationen för att hämta rätt kategori från till exempel en databas.
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,0313 sekunder att ladda sidan