IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Créer dynamiquement des hyperliens. Comment bien faire ?


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 254
    Points : 181
    Points
    181
    Par défaut Créer dynamiquement des hyperliens. Comment bien faire ?
    Bonjour,

    je cherche une manière convenable et pratique de créer de hyperliens entre mes pages. Je connais le fonctionnement de la classe HyperLink. Je me pose plus des questions de conception.

    Disons que j'ai les pages suivantes

    One.aspx?data1=data1&data2=data2
    Two.aspx
    Three.aspx
    Four.aspx
    Five.aspx

    Two, Three, Four et Five possèdent toutes des données ainsi qu'un lien crée dynamiquement vers One. Actuellement chacune de ces pages (Two, Three, Four et Five) possèdent un méthode pour créer ce lien. Ce qui fait que j'ai un peu près 4 fois la même méthode. Un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private const string TEMPLATE =
            "~/One.aspx?data1={0}&data2={1}";
     
    private HyperLink CreateLink()
    {
        HyperLink link = new HyperLink();
        link.Text = "Click here";
        link.NavigateUrl = String.Format(TEMPLATE, data1.ToString(), data2.ToString());
        return link;
    }
    Je me demandais s'il n'était pas plus intelligent de créer une méthode static string CreateLink(Data1 data1, Data2 data2) dans One.aspx ? Ainsi je ne génère ma string pour le lien que dans un endroit unique.

    Je me demandais aussi s'il n'y avait pas encore mieux avec des attributs à placer sur des propriétés pour signifier que la propriété peut être chargée à partir de la Request.

    J'espère avoir été clair sinon n'hésitez pas à me demander des précisions. Merci.

    EDIT -- Pour me seconde question je pense avoir trouvé http://www.codeproject.com/KB/aspnet...bmkres=success

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Points : 444
    Points
    444
    Par défaut
    Clairement tu peux faire cette manipulation dans One.aspx, ou encore dans une classe static qui ne ferait que générer des urls.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 44
    Points : 50
    Points
    50
    Par défaut
    Tes pages héritent par défaut de System.Web.UI.Page.
    Rien ne t'empeches de créer ta propre page de base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    public class MyBasePage : System.Web.UI.Page
    {
       protected HyperLink CreateLink()
       {
           HyperLink link = new HyperLink();
           link.Text = "Click here";
           link.NavigateUrl = String.Format(TEMPLATE, data1.ToString(), data2.ToString());
           return link;
       }
    }
    Ensuite tu n'as plus qu'a modifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class One : System.Web.UI.Page
    {
       // ...
    }
     
    par
     
    public class One : MyBasePage
    {
       // ...
    }
    Et pareil pour Two, Three, etc...
    Ainsi dans cette page de base tu factorises toutes les méthodes dont tu peux avoir besoin dans tes pages.

  4. #4
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 254
    Points : 181
    Points
    181
    Par défaut
    En effet. C'est à quoi j'aimerais arriver. Merci pour vos conseils.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/06/2014, 15h26
  2. Comment créer dynamiquement des colonnes à un datagrid par binding
    Par zoaax dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 05/01/2011, 13h54
  3. MFC : comment créer dynamiquement des boutons?
    Par olator dans le forum Mobiles
    Réponses: 0
    Dernier message: 23/10/2008, 19h05
  4. Réponses: 1
    Dernier message: 17/04/2007, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo