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 :

SelectedItem retourne null dans une listbox (Prob de PostBack ?)


Sujet :

ASP.NET

  1. #1
    Membre confirmé

    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut SelectedItem retourne null dans une listbox (Prob de PostBack ?)
    Bonjour à toutes & à tous,

    J'ai bien peur d'ouvrir un post sur un problème maintes fois abordés ... cependant j'ai besoin que l'on m'éclaire proprement à ce sujet. trop d'info tue l'info et je commence à me perdre ...

    Je tiens a préciser que je suis dans un environnement Sharepoint, dans des contentPlaceHolder.

    Voici un extrait de ma page coté asp.net:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:ListBox ID="zlAcompte" runat="server" Width="400" Rows="12"/>
    <asp:Button EnableViewState="false" runat="server" ID="btnModif" Text="Modifier" OnClick="Modif" Width="100" />
    <asp:Label ID="lbltest" runat="server" />
    En cote inline, à l'évenement OnLoad j'alimente la Listbox.

    Lorsque l'utilisateur clique sur le bouton Modifier, je souhaite simplement dans un premier temps récupérer l'index (ou la valeur) de l'item sélectionné et l'afficher dans le label lbltest.
    Actuellement, j'ai une erreur car zlAcompte.SelectedItem est toujours null quelque soit mon choix dans la liste.

    Voici le code de l'evenement Modif:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lbltest.text = zlAcompte.SelectedItem.Text;
    Je devine bien que c'est un probleme de postback et de enableviewstate, cependant, j'aimerai en comprendre exactement le mécanisme.

    2nd point: J'ai reproduit le meme contexte dans un site asp.net classique (hors Sharepoint), et le comportement est completement différent, en effet, qd je clique sur le bouton, le label affiche l'item sélectionné dans la liste, mais cette dernière est réalimenté, chaque item se retrouve en doublon (Ceci à l'air d'être un comportement normal car je n'ai pas préciser if!(ispostback) dans l'évenement OnLoad de la page.)

    Plzz, help! Comment résoudre mon probleme dans un contexte Sharepoint ...

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Si tu loades ta listView au PageLoad, tu perds systématiquement ta sélection puisque ton contrôle est complétement rechargé.

    Entoure ta méthode de load de la ListView d'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!IsPostback)LoadListView();

  3. #3
    Membre confirmé

    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut
    Merci de ta réponse Calagan.
    Cependant le problème est sensiblement le même. Que je mette un if(!Page.IsPostBack) ou pas, la valeur retournée est toujours nulle (ou -1) dans les 2 cas.
    La seule différence c'est qu'au rafraichissement de la page lorsque je clique sur le bouton, la liste est vidée et ré-alimentée (ou pas selon l'un des 2 cas).

  4. #4
    Membre confirmé

    Inscrit en
    Juillet 2005
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 195
    Par défaut
    Ok c'est résolu:

    Il fallait mettre à true le EnableViewState de la page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Page Language="C#"  MasterPageFile="~/_layouts/application.master" Inherits="Microsoft.SharePoint.WebControls.LayoutsPageBase" EnableViewState="true" EnableViewStateMac="false"  %>

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

Discussions similaires

  1. [Excel]Chercher un élement puis retourné dans une listbox
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/06/2006, 17h10
  2. [Oracle] Recherche nulle dans une base et affichage
    Par GLDavid dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/04/2006, 01h01
  3. [WIN32]tabulation dans une listbox
    Par stoluup dans le forum MFC
    Réponses: 2
    Dernier message: 09/06/2004, 10h11
  4. recherche Date nulle dans une table
    Par lol_adele dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/04/2004, 14h06
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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