En esta lámina se muestra la referencia al assembly que se requiere para empezar a usar esta característica.
El siguiente paso sería registrar el Router en el Global.asax
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
private void RegisterRoutes(RouteCollection Routes)
{
Route r = new Route("{Parameter}", new
DemoRouter());
Routes.Add(r);
}
Luego implementar la clase DemoRouter dentro del archivo DemoRouter.cs en la carpeta App_code
using System;
using System.Collections.Generic;
using System.Web.Routing;
using System.Web;
using System.Web.UI;
using System.Web.Compilation;
public class DemoRouter : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string nombrePagina
= requestContext.RouteData.GetRequiredString("Parameter");
nombrePagina =
nombrePagina.ToLower() == "home" ? "default" : nombrePagina;
string virtualPath
= string.Format("~/PaginasRoutingDemo/{0}.aspx", nombrePagina);
return (Page)BuildManager.CreateInstanceFromVirtualPath(virtualPath, typeof(Page));
}
}
Y Finalmente registrar en el Web.Config el HttpModule que manejara la redirección
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>