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 :

La référence de l'objet ne correspond pas à une instance d'un objet


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Février 2021
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2021
    Messages : 77
    Points : 51
    Points
    51
    Par défaut La référence de l'objet ne correspond pas à une instance d'un objet
    Bonjour

    J'expérimente avec asp.net et OOP. J'essaye d'atteindre le Label1 qui est dans le fichier aspx à partir d'une autre classe. Le code ci-dessous me donne l'erreur La référence de l'objet ne correspond pas à une instance d'un objet à la ligne wb.Label1.Text = a;. Pourtant, je crée une instance pour cet objet. Merci. R.

    code-behind
    -------------
    using System;
    namespace WebApplication1
    {
    public partial class WebForm1 : System.Web.UI.Page
    {
    public string a="ok";
    protected void Page_Load(object sender, EventArgs e)
    {
    Test ts = new Test();
    ts.Txtch();
    }
    }
    class Test : WebForm1
    {
    public void Txtch()
    {
    WebForm1 wb = new WebForm1();
    wb.Label1.Text = a;
    }
    }
    }

    aspx file
    ---------
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" inherits="WebApplication1.WebForm1" %>
    ...
    <asp:Label ID="Label1" runat="server"></asp:Label>
    ...

    Designer.cs
    -----------
    public global::System.Web.UI.WebControls.Label Label1;

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 819
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 819
    Points : 5 638
    Points
    5 638
    Par défaut
    Je ne sais pas ce que tu essaies de faire mais tu ne sembles pas maîtriser la base de la POO.

    Tu as une classe Test qui hérite de WebForm1.
    Cela implique que Test connais WebForm1 mais certainement pas l'inverse.

    Donc les deux lignes ci dessous dans le code de WebForm1 sont un non sens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Test ts = new Test();
    ts.Txtch();

  3. #3
    Membre du Club
    Homme Profil pro
    Analyse système
    Inscrit en
    Février 2021
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2021
    Messages : 77
    Points : 51
    Points
    51
    Par défaut
    J'essaye simplement de voir s'il est possible d'atteindre des controls de la page aspx en dehors de la classe partial WebForm1 qui hérite de Page. C'est tout.
    Comme la classe Test hérite de la classe partial WebForm1 qui elle-même hérite de Page, donc de la page aspx avec les controls, je trouverais logique qu'on puisse y accéder à partir de cette classe.

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 819
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 819
    Points : 5 638
    Points
    5 638
    Par défaut
    Ce n'est pas ainsi que fonctionne Web Form.
    Tu ne peux pas hériter de WebForm1.

    La bonne pratique est d'utiliser un page maître et/ou des user controls.
    Je te laisse chercher sur Google, c'est largement documenté

Discussions similaires

  1. Réponses: 20
    Dernier message: 13/08/2007, 17h11
  2. Réponses: 2
    Dernier message: 05/06/2007, 18h22
  3. Réponses: 8
    Dernier message: 04/06/2007, 17h20
  4. Réponses: 24
    Dernier message: 01/06/2007, 10h26
  5. Réponses: 8
    Dernier message: 11/07/2006, 18h27

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