Url Amigável Asp.NET MVC

12/04/2017

0

Estou com uma duvida sobre urls amigáveis, provavelmente é algo simples, se alguém puder me ajudar,

Quando faço uma rota para View Contact do controller Home:
localhost/Home/Contact


routes.MapRoute(
name: "contato",
url: "contato",
defaults: new { controller = "Home", action = "Contact" }
);

Tudo ok, consigo acessar pela a url: localhost/contato, porem para Área que criei para pagina de login não funcionou dessa maneira.
localhost/Admin/Adm/Index ->acessa ok
mas pela rota não acessa


routes.MapRoute(
name: "Login",
url: "login",
defaults: new { controller = "Admin/Adm", action = "Index" }
);

Qual seria o caminho para acessar o controller Adm dentro da Área Admin ? como ficaria essa rota ?
Luis Silva

Luis Silva

Responder

Posts

09/05/2017

Pablo Domingues

Dentro da pasta Areas você deve ter a pasta Admin e dentro da pasta Admin a estrutura de pasta Controllers, Models, Views...
Muito provavelmente você irá encontrar o AdminAreaRegistration.cs dentro da pasta Areas /Admin e nele deverá ser feito o registro de rotas desta área. Não sendo necessário mapear cada área dentro de RouteConfig.cs.

AdminAreaRegistration.cs
public class AdminAreaRegistration: AreaRegistration 
    {
        public override string AreaName 
        {
            get 
            {
                return "Admin";
            }
        }

        public override void RegisterArea(AreaRegistrationContext context) 
        {
            context.MapRoute(
                "Admin_default",
                "Admin///",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }
    }


RouteConfig.cs

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute(".axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "//",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }


No seu global.asax adicione:
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);



Creio que atenda as suas necessidades. ;)
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar