nuget Install-Package softrouting -Versão 0.1.2
Facilidade de desenvolvimento
Limpar código
Rotas simples
Controlador padrão do aplicativo Asp.net MVC na pasta Controladores:
public class HomeController: Controller {
public HomeController() {
}
public ActionResult Index() {
return Content("index");
}
public ActionResult About() {
return Content("about");
}
public ActionResult Contacts() {
return Content("contacts");
}
}Roteamento para página de índice com roteamento Asp.Net padrão (índice de ação):
RouteTable.Routes.MapRoute(null, "", new {
controller: "Home",
action: "index"
});Roteamento com SoftRouting:
using SoftRouting; //very important ¯_(ツ)_/¯
RouteTable.Routes.InController("Home").MapIndexPage("index"); //action name "index" as default pageRoteamento para ações "sobre" && "contatos" com roteamento Asp.Net
RouteTable.Routes.MapRoute(null, "about", new {
controller: "Home",
action: "about"
});
RouteTable.Routes.MapRoute(null, "contacts", new {
controller: "Home",
action: "contacts"
});Ou você pode usar o roteamento automático:
RouteTable.Routes.MapRoute(null, "{action}", new {
controller: "Home"
});Roteamento com SoftRouting:
RouteTable.Routes.InController("Home")
.Map("about")
.Map("contacts");Ou você pode usar roteamento automático
RouteTable.Routes.InController("Home").AutoMap(); //will map to ~/index, ~/about, ~/contactsRoteamento automático com UrlPrefix
RouteTable.Routes.InController("Home").AutoMap("blogs"); //will map to ~/blogs/about, ~/blogs/contactsAlém disso, você pode usar expressões de URL no mapa:
RouteTable.Routes.InController("Home")
.Map("about", "us/about")
.Map("contacts", "us/contacts");E você pode usar prefixo para rota:
RouteTable.Routes.InController("Main").AutoMap("us");Você pode criar rotas em áreas
RouteTable.Routes.InArea("Main").WithController("Home")
.Map("about", "us/about")
.Map("contacts", "us/contacts");Você pode alternar controlador e área
RouteTable.Routes.InController("Home").AutoMap("us").SwitchArea("accounts").WithController("Login").AutoMap();
RouteTable.Routes.InController("Home").AutoMap("us").SwitchController("Login").AutoMap();Roteamento na classe AreaRegistration
using SoftRouting; ¯_(ツ)_/¯
public class MainAreaRegistration : AreaRegistration {
public override string AreaName => "Main";
public override void RegisterArea(AreaRegistrationContext context) {
context.WithController("Home")
.AutoMap();
}
}Você pode trocar de controlador
context.WithController("Home")
.AutoMap()
.SwitchController("Info")
.AutoMap("info");E você pode mudar de área
.AutoMap()
.SwithArea("Account")
.WithController("Login")
.AutoMap("accounts"); //~/accounts/login, ~/accounts/register etc...Obrigado pela instalação!