GetVirtualPath devuelve la primera ruta

Tengo un problema extraño con las rutas de mi proyecto. Aquí están mis rutas:

            // pennames
        routes.MapRoute(
            "pennames", // Route name
            "MyHome/Authors/{action}/{id}", // URL with parameters
            new { controller = "Author", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

        // article
        routes.MapRoute(
            "article", // Route name
            "MyHome/Articles/{action}/{id}", // URL with parameters
            new { controller = "Article", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

la estructura del sitio es:
Controlador
-> MyHome
-> AuthorController
-> ArticleController
-> Vistas
-> Artículo
---> Index.aspx
-> Autor
-> Index.aspx

Pero cuando llamo

RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext..

desde la página / MyHome / Article, siempre devuelve las primeras rutas (MyHome / Author)

Ay idean que estoy haciendo mal?

preguntado el 09 de enero de 11 a las 06:01

1 Respuestas

De forma predeterminada, devuelve la primera ruta. Debe especificar el nombre de la ruta al obtener la ruta virtual. http://msdn.microsoft.com/en-us/library/cc680260.ASPX

RouteTable.Routes.GetVirtualPath(this.viewContext.RequestContext, "article", ..

Respondido 08 Oct 13, 23:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.