lundi 15 décembre 2014

Url Routing avec ASP.NET WebForm

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

  1. 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");
        }
 
     2.  Enregistrer les routes sur la méthode Application_Start


      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