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

C# Discussion :

Redirection d'un lien


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut Redirection d'un lien
    Bonjour, je me trouve dans une situation d'apparence simple mais qui me bloque...

    J'ai une Gridview dans laquelle je charge des données.

    Une de ces colonnes doit contenir un lien.
    Si la valeur nexiste pas, un texte doit être affiché à la place.

    lors du clic sur le lien, un bout de code C# doit être effectué. PAs de javascript donc.

    Comment puis-je me dépatouiller ?

    Le HyperLink n'a pas de OnClick avec une méthode C#, le LinkButton ne fait pas ce qui m'interesse, un ButtonField ne me permet pas d'afficher un texte si la valeur est vide.

    Pour le code C# a effectué, il peut être dans le RowCommand ou une méthode privée, aucune importance.

    Meci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    utilise les evements de Gridview tu dois pour voir intercepter un OnRowCommand, ou quelques chose comme ca.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    Jai quelque chose comme ça pour le moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <asp:TemplateField>
       <ItemTemplate>
          <asp:Panel ID="panColumn" runat="server">
             <asp:LinkButton ID="hlColumn" runat="server" CommandName="Details" ></asp:LinkButton>
             <asp:Label ID="lblColumn" runat="server" Text="Pending" Visible="False" />
          </asp:Panel>    
       </ItemTemplate>
    </asp:TemplateField>
    et dans le code behind :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    protected void GridViewResults_RowCommand(Object sender, GridViewCommandEventArgs e)
            {
                if (e.CommandName == "Details")
                {
                    int index = Convert.ToInt32(e.CommandArgument); 
                }
            }
    mon e.CommandArgument est vide :/

  4. #4
    Invité
    Invité(e)
    Par défaut
    C'est normal, tu ne la pas renseigné dans ton code ASPX.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    Oh, je vois, quelque chose du style CommandArgument='<%# truc %>' ?

    Je suppose qu'il est possible de récupérer le numéro de la ligne de cette manière ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Numero de la ligne ou un ID de base de données par exemple.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    J'ai placé un CommandArgument='<%# Eval("Num") %>' (Num étant le numéro d'une ligne), mais le CommandArgument est toujours vide...

    C'est un problème si la valeur que je souhaite récupérer dans mon CommandArgument est aussi la valeur contenu dans le LinkButton ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    en théorie non.

    Mais c'est bizard si tu as mis une valeur de le commandArgument et que tu ne récupere rien coté code behing.

    Essaye en mettant une valeur fixe (en dur) dans ton code
    exemple


  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par gcorbineau Voir le message
    en théorie non.

    Mais c'est bizard si tu as mis une valeur de le commandArgument et que tu ne récupere rien coté code behing.

    Essaye en mettant une valeur fixe (en dur) dans ton code
    exemple

    ça marche si je procède de cette manière :/

    Il faut des header particulier pour utiliser du code C# dans l'ascx ?

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    (je me permet de remonter le sujet n'ayant toujours pas trouvé de moyen de me sortir de là)

  11. #11
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2011
    Messages : 28
    Points : 21
    Points
    21
    Par défaut
    Bonjour,

    J'ai un bout de code qui pourrait peut-être t'aidé

    Dans le code Behind, Une fois ton GridView remplit tu peut faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    //déclaration d'un nouveau ImageButton
     ImageButton var = new ImageButton();
    for(int g=0;g<GridView1.Rows.Count;g++)
     {
         var.ImageUrl = "~/Images/IMNON.png";
         var.ToolTip = "test";
         var.CommandArgument = g.ToString();
        var.CommandName = "ton nom de commande";
     
    //ici on ajoute le contrôle au GridView                      
     GridView1.Rows[g].Cells[0].Controls.AddAt(0, var);
    }
     
    et dans ton fichier .aspx :
      <asp:ImageField HeaderText="Admin" ></asp:ImageField>
    Ce bout de code permet de rajouter un lien sur une image. J'espère qu'il pourra te servir

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    L'idée est bonne, mais ça ne marche pas, le CommandArgument est toujours vide :/

    dans mon RowDataBound :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    LinkButton hlColumnNum = (LinkButton)e.Row.FindControl("hlColumnNum");
     
    hlColumnNum.Text = num.ToString();
    hlColumnNum.Visible = true;
    hlColumnNum.CommandArgument = num.ToString();

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Points : 35
    Points
    35
    Par défaut
    Bon, je relance une dernière fois, je n'insisterai plus après :/

Discussions similaires

  1. Désactiver redirection d'un lien lors d'un clic sur élément enfant
    Par zouuc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/07/2014, 08h44
  2. Redirection automatique des liens d'un site internet !
    Par jack_42 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 17/11/2011, 22h56
  3. [URL Rewriting] Redirection dossier vers lien
    Par alikharchafi dans le forum Apache
    Réponses: 13
    Dernier message: 16/10/2007, 14h48
  4. Click sur lien et redirection [noob]
    Par Trystan dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/04/2006, 11h26
  5. Réponses: 4
    Dernier message: 09/11/2005, 18h44

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