|
|
|
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: 2891
|
 |
|
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. |
|
|
|
|
|
|
|
» Bli medlem |
|
|
 |
|
|
|
|
|
» Partners |
|
|
 |
|
|
|
|
|
» ANNONS |
|
|
 |
|
|
|
|
|
» Senast online |
|
|
Endast för inloggade
|
|
|
Antal
inloggade: 1 |
|
|
|
|
|
|
Copyright © 2007 www.ASPsidan.se
|
|