Qu'est ce que le Routage ASP.NET
Nous accédons à notre application web en utilisant une URL qui est normalement le chemin physique des pages. Donc URL de routage est un moyen de fournir notre propre URL au lieu du chemin physique de la page. Une autre façon, de routage nous permet un moyen de configurer notre application pour accepter une URL demandée qui fait ne correspond pas à des fichiers physiques. Du point de vue de la sécurité de l'application, ce est important parce que l'on peut facilement connaître la structure de la solution de l'application.Pourquoi utilisé le Routage ASP.NET
- Un nom de domaine qui est facile à retenir et facile à épeler
- URL courtes
- Facile à taper les URL
- URLs qui visualisent la structure du site
- URL persistants qui ne changent pas
Exemple d'utilisation
- Commençant par la définition les routes par la methode
RegisterRoutes sur global.asax:
void RegisterRoutes(RouteCollection routes) { routes.MapPageRoute("DemoRoute1", "Demo/{year}", "~/demo_routing1.aspx"); routes.MapPageRoute("DemoRoute2", "Demo/{lang}/{year}", "~/demo_routing2.aspx"); }
void Application_Start(object sender, EventArgs e) { RegisterRoutes(RouteTable.Routes); }
3. Création des liens sur une page demo.aspx
- URL codées en dur
<asp:HyperLink ID="HyperLink1" runat="server" target="_blank" NavigateUrl="~/Demo/2014"> Demo 1 </asp:HyperLink> </br> <asp:HyperLink ID="HyperLink2" runat="server" target="_blank" NavigateUrl="~/Demo/FR/2014"> Demo 2 </asp:HyperLink>
- URL générées automatiquement en utilisant du balisage
<asp:HyperLink ID="HyperLink4" runat="server" target="_blank" NavigateUrl="<%$RouteUrl:annee=2014,routename=DemoRoute1%>">> Demo 3 </asp:HyperLink> </br> <asp:HyperLink ID="HyperLink5" runat="server" target="_blank" NavigateUrl="<%$RouteUrl:lang=FR,annee=2015,routename=DemoRoute2%>"> Demo 4 </asp:HyperLink>
- URL générées automatiquement en utilisant du code
RouteValueDictionary parameters = new RouteValueDictionary { {"year", "2014" } }; VirtualPathData vpd =RouteTable.Routes.GetVirtualPath(null, "ExpensesRoute", parameters); HyperLink6.NavigateUrl = vpd.VirtualPath;
4. Résultat:
Mon Url réel est http://localhost:54742/demo_routing2.aspx/lang=FR&annee=2014,et le routage m'a donné:
Aucun commentaire:
Enregistrer un commentaire