Welcome to 3Dev Blogs Sign in | Join | Help
<December 2008>
SuMoTuWeThFrSa
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

Navigation

Syndication

ASP .NET Routing

En este articulo quisiera hablar acera de ASP .NET Routing, pero en la idea de seguir escribiendo para llegar a mostrar ASP .NET MVC.

image

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>

A continuación voy a dar ejemplos de la forma en que se especifica los URLs

El siguiente ejemplo muestra cómo definir un objeto Route que acepta dos parámetros URLs action y categoryName

protected void Application_Start(object sender, EventArgs e)

{

    RegisterRoutes(RouteTable.Routes);

}

 

public static void RegisterRoutes(RouteCollection routes)

{

    routes.Add(new Route

    (

         "Category/{action}/{categoryName}"

         , new CategoryRouteHandler()

    ));

}

Published Sunday, December 21, 2008 11:03 AM by jfrancia

Comments

No Comments

Anonymous comments are disabled
Powered by Community Server, by Telligent Systems