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 :

Passer une donnée d'une ligne de GridView à un UserControl


Sujet :

ASP.NET

  1. #1
    Membre habitué Avatar de obitskater
    Profil pro
    Développeur .NET
    Inscrit en
    Février 2008
    Messages
    163
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2008
    Messages : 163
    Points : 132
    Points
    132
    Par défaut Passer une donnée d'une ligne de GridView à un UserControl
    Bonjour à tous,

    Voilà, dans ma page principal j'ai une GridView avec pour chaque ligne un HoverMenu Ajax.Net, dans lequel il y a des liens permettant l'ouverture de Popup, sous la forme d'un userControl, qui affiche les détails de la ligne selectionnée dans la GridView.

    Mon problème est que je souhaiterais passser l'id de la ligne selectionné au UserControl, mais je bloque et je ne vois pas du tout comment faire. J'ai pensé à l'évènement OnSelectedIndexChanged de la GridView pour passer l'id en Session, et le récupérer dans le pageLoad de l'UserControl, mais j'ai une Exception "Object reference not set to an instance of an object. "

    Voici ma procédure de la page principale pour mettre l'Id dans la Session:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    protected void gvTab_SelectedIndexChanged(object sender, EventArgs e)
        {
            Session["RowIdStatut"]= Int32.Parse( gvTab.SelectedRow.Cells[0].ToString());
        }
    Et ici, le PageLoad de mon UserControl:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    protected void Page_Load(object sender, EventArgs e)
        {
            //C'est ici qu'il y a l'erreur, il dit que Session["RowIdStatut"] est null
            _iID = Int32.Parse(Session["RowIdStatut"].ToString());
     
            lblID.Text = "id = " + _iID;
        }
    Si vous aviez une idée ce serait top ^^, merci d'avance!

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Pour ton erreur, ça peut venir du fait que ton gridview est réinitialisé et donc plus de ligne selectionné (tu peux utilisé un if(!IsPostBack) par exemple), fais un test avec des breakpoint ...

    Une autre méthode pour récupérer "RowIdStatut" est d'utiliser les DataKeys (que tu déclare dans ton gridview et que tu utilise dans ton code behind regarde du côté msdn). Et tu peux utiliser les RowCommand ...
    Ta méthode peut ressembler plus ou moins à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        protected void dgListeReponses_RowCommand(Object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Select")
            {
                int selectedRows = Convert.ToInt32(e.CommandArgument);
                int RowIdStatut= Int32.Parse(gvTab.DataKeys[selectedRows].Value.ToString());
        }
    Voici peut être un début de réponse ...
    Bon courage
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

Discussions similaires

  1. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  2. Passer ses données d'une base MySQL à une base PostgreSQL
    Par el_gringo16 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 14/08/2011, 12h27
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Réponses: 2
    Dernier message: 18/12/2006, 19h04

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