Pregunta

Sé que este sitio está escrito usando ASP.Net MVC y no veo "/Home" en la URL.Esto me demuestra que se puede hacer.¿Qué ruta especial y necesito?

¿Fue útil?

Solución

Simplemente cambie "Inicio" por una cadena vacía.

routes.MapRoute(
    "Home",
    "",
    new { action = Index, controller = Home }
);

Otros consejos

Si está ejecutando IIS 7, simplemente puede eliminar el archivo Default.aspx que viene con ASP.NET MVC (suponiendo que esté ejecutando Preview 3 o superior).Ese archivo era necesario debido a un problema con Cassini que se solucionó en .NET 3.5 SP1.Para más detalles consulte:

http://haacked.com/archive/2008/04/10/upcoming-changes-in-routing.aspxyhttp://haacked.com/archive/2008/05/12/sp1-beta-and-its-effect-on-mvc.aspx

De hecho, me gusta tener todos los métodos de mi controlador doméstico en la raíz del sitio.Como esto:/acerca de, /contacto, etc.Supongo que soy exigente.Utilizo una restricción de ruta simple para hacerlo. Aquí está la publicación de mi blog con un código de muestra.

Yo agregaría

routes.MapRoute("NoIndex", "{action}", new { controller = "Home", action = "Index" });

en RouteConfig.cs

Esto es lo que hice para deshacerme de Home.Tratará todas las rutas con un solo especificador como Inicio/Acción y cualquiera que tenga dos como Controlador/Acción.La desventaja es que ahora el controlador debe tener un índice explícito (/Controller != /Controller/Index), pero podría ayudarle a usted o a otras personas.

routes.MapRoute(
    "Default",
    "{action}",
    new { controller = "Home", action = "Index" }
);

routes.MapRoute(
    "Actions",
    "{controller}/{action}",
    new { }
);

En IIS 7, simplemente puede eliminar el archivo Default.aspx que viene con ASP.NET MVC (suponiendo que esté ejecutando la versión Preview 3 o superior).Ese archivo era necesario debido a un problema con Cassini que se solucionó en .NET 3.5 SP1.

Para más detalles consulte:

Próximos cambios en la ruta y .NET 3.5 SP1 Beta y su efecto en MVC

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top