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 :

Héritage de UserControl


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 33
    Par défaut Héritage de UserControl
    Bonjour,


    Voici l'architecture de mon control :
    Un UserControl.ascx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="UserControl.ascx.cs" Inherits="_UserControl" %>
     
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    Le code behind du UserControl.ascx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public partial class _UserControl : BaseUserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
    La class BaseUserControl.cs
    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
    17
    18
     
    public abstract class BaseUserControl : UserControl
    {
        protected TextBox TextBox1 = new TextBox();
     
        protected override void OnLoad(EventArgs e)
        {
            this.TextBox1.Text = "Texte1";
            this.TextBox1.TextChanged += new EventHandler(TextBox1_TextChanged);
            this.TextBox1.AutoPostBack = true;
            base.OnLoad(e);
        }
     
        protected void TextBox1_TextChanged(object sender, EventArgs e)
        {
            this.TextBox1.Text = "Texte1Changed";
        }
    }
    J'aimerai qu'à partir de la classe BaseUserControl je puisse définir les différentes propriétés de ma TextBox incluse dans UserControl.ascx.
    J'ai essayé de cette manière mais malheureusement rien ne se passe sur ma TextBox.

    Quelqu'un aurait-il une idée ?

    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 485
    Par défaut
    Il ne faut pas créer de TextBox dans le "contructeur" de "BaseUserControl".
    Il faut récupérer la référence vers cette texBox, donc elle doit être fournie par la classe dérivée. Par exemple en spécifiant une propriété "TextBox1" qui sera initialisée dans le code de la classe fille.

    Tout cela me parait fort peu Objet, tout compte fait. Pourquoi la fille n'hérite pas de le texteBox, plutôt que de la créer ?

Discussions similaires

  1. Héritage et UserControls - Erreur de génération inconnue
    Par morel16 dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 08/05/2010, 09h13
  2. Héritage de UserControl
    Par Laurent Dutrillaux dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 10/07/2008, 18h05
  3. Web UserControl + héritage
    Par webworker dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/06/2007, 15h42
  4. [2.0] Héritage et UserControl
    Par margagn dans le forum Windows Forms
    Réponses: 5
    Dernier message: 17/01/2007, 23h48

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