03/05/2017
Atribuição de rotas com hífen (Attribute Routing) em ASP.NET MVC 5 ou superior
O ASP.NET MVC 5 tem um novo recurso chamado Attribute Routing que permite que um desenvolvedor especifique a rota das ações da Controller, adicionando atributos de rota a eles. Abaixo, veremos como fazer.
RouteConfig e MapMVCAttributeRoutes
Primeiro, você precisa ativar o roteamento baseado em atributo no ASP.NET MVC 5 ao registrar suas rotas no RouteConfig.cs. É uma declaração simples de uma linha.
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); // ... }
Attribute Routing em ASP.NET MVC 5
Em seguida, você precisa criar uma Controller e algumas Actions. Neste caso, adicionamos um RoutePrefix para o QuemSomosController dizendo que todas as rotas de ação do controlador será prefixado com "quem-somos".
Agora, para a ação do controlador de índice eu apenas especifico como uma rota, o que significa que ele irá responder à rota "~/quem-somos", que é o prefixo da rota.
[RoutePrefix("quem-somos")] public class QuemSomosController : Controller { private BancoEntities db = new BancoEntities(); [Route] public ActionResult Index() { var equipe = db.EQUIPE.ToList(); return View(equipe); } }
É fácil ver a rota para uma ação de uma Controller, olhando o RoutePrefix e atributos de rota na Controller e Action no ASP.NET MVC 5.
Pronto! Agora já pode utilizar rotas personalizadas em suas Controller também!
Referências: davidhayden, codeproject e exceptionnotfound
Comentários