Permalänk

Dynamisk url rewriting

Hej,

Hur kan man skriva om urlen dynamiskt?

Vad jag vet brukar man göra det i Application_BeginRequest i global.asax, men om jag tex vill göra det dynamisk tex:

www.Fun.com/Category.aspx?ID=3

Vill jag skriva om till

www.Fun.com/Bikes

Där ID=3 ger titeln Bikes från databasen och denna titel vill jag sätta som www.Fun.com/Bikes alltså. Nån som kan jag lite tips? Det handlar om ASP.NET förstås.

//DZ

Visa signatur

"Turn On, Tune In, and Drop Out"

Permalänk
Medlem

Jag vet inte vad du kör för webserver. Själv kör jag apache och har löst liknande saker med .htaccess.

RewriteEngine On RewriteBase / RewriteRule ^Bikes$ /Category.aspx?ID=3

Permalänk
Medlem

UrlRewritingNet.UrlRewrite - Home

Har dock inte testat själv..

Visa signatur

EPoX 8RDA+, XP2500+, 2x256Mb PC3200 (DualCh), Club3D 9800PRO, Seagate 7200.7 160Gb 8Mb Limited edition

Permalänk

Om du har tillgång till .NET 3.5 SP1 och IIS7 föreslår jag att du använder System.Web.Routing som finns inbyggt. Då kan du dels generera URL:er för klienten, men även parsa URL:er till rätt sida.

// Configure a route. Global.asax:Application_Start RouteTable.Routes.AddRoute(new Route("{category}", new WebFormRouteHandler())); // Use route for URL-generation. (*.aspx) string url = this.RouteUrl(new { category = "bikes" }); Response.Write(url); // "bikes"

Kolla in literaturen för ASP.NET MVC när det gäller System.Web.Routing. Det funkar även fin fint för Webforms.

Using Routing With WebForms
URL Routing with ASP.NET 4.0 - CodeProject

Permalänk

Tack för tipsen!

Detta måsta jag kolla upp.

Visa signatur

"Turn On, Tune In, and Drop Out"

Permalänk

Förresten, kan man bara se skillnaden på urlen när man deployar på IIS:en? Antingen har jag kodat fel eller så fungerar det inte när man kör på och kompilerar på Visual Web Developer?

Visa signatur

"Turn On, Tune In, and Drop Out"

Permalänk

Det ska fungera på Visual Studio Web Express 2008 SP1 och nyare.