MVC3 e regravações
Estou escrevendo um aplicativo MVC3 que precisará usar a reescrita de URL na forma de http: // [server] / [City] - [State] / [some term] /.
Pelo que entendi, o MVC3 contém um mecanismo de roteamento que usa {controler} / {action} / {id}, definido no arquivo Global.asax:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
Tradicionalmente (em um aplicativo não MVC), eu usaria algum tipo de reescrita de URL para decodificar um URL comohttp: //www.myserver.com/City-State/somesearch para parâmetros da string de consulta que se parecem com isso:http: //www.myserver.com/city=City&state=State&query=somesearc
Lembre-se de que essa solicitação seria proveniente dehttp: //www.myserver.com/Hom
Pode ser feito sem precisar especificar um controlador ... algo como isto:
routes.MapRoute(
"Results",
"{city}-{state}/{searchTerm}",
new { controller = "Results", action = "Search" }
);
... ou é realmente melhor ter o controlador listado?
Como você lida com isso em um ambiente MVC
Obrigado