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 :

[ASP .NET 2.0][C#] Probleme d'heritage avec les UserControls


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut [ASP .NET 2.0][C#] Probleme d'heritage avec les UserControls
    Bonjours,

    J'ai un probleme obscur concernant l'heritages des classes que je declare dans le Code Behind de mes UserControls. Je realise un site avec deux controls utilisateurs (un arbre et une grille de resultats qui peuvent etre filtrees, dependant de la selection d'un noeud dans l'arbre).

    J'ai une classe "principale", Docmat.Accueil dans laquelle je tente d'utiliser le Namespace Docmat.UserControls que j'ai declaré dans le code behind de mes controls utilisateurs. Le but est de pouvoir appeller certaines methodes de mes controls lors de l'affichage de la page principale (L'accueil) et de synchroniser l'affichage de ma grille en fonction de l'arbre.

    Mes fichiers .ascx sont dans un repertoire appellé UserControls et le .aspx est a la racine du projet (son code Behind dans App_Code)

    Accueil.aspx :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%@ Page        Language="C#" 
                    AutoEventWireup="false" 
                    CodeFile="~/App_Code/Accueil.aspx.cs"
                    Inherits="Docmat.Accueil" %>
    <%@ Register    TagPrefix="st1" TagName="Tree"
                    Src="~/UserControls/Search_tree.ascx" %>
    <%@ Register    TagPrefix="dg1" TagName="Content"
                    Src="~/UserControls/Content.ascx" %>
    Accueil.aspx.cs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    namespace Docmat
    {
        using Docmat.UserControls;
     
        public class                                    Accueil : System.Web.UI.Page
        {
            protected Docmat.UserControls.Search_tree    MainTree;
     
            // logique du Code behind
        }
    ~/UserControls/Search_Tree.ascx.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    namespace Docmat.UserControls
    {
        public partial class        Search_tree : System.Web.UI.UserControl
        {
              // Logique du control
        }
    ~/UserControls/Search_Tree.ascx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <%@ Control     Language="C#" 
                    Debug="true"
                    AutoEventWireup="true"
                    CodeFile="~/UserControls/Search_tree.ascx.cs"
                    Inherits="Docmat.UserControl.Search_tree" %>
    Or dans Accueil.aspx.cs, le nom d'espace Docmat.UserControls n'existe pas !

    J'ai lu le tres abordable et interessant article suivant : http://west-wind.com/weblog/posts/3016.aspx qui ne m'en a pas plus appris que les multiples posts sur le sujet que contient ce forum...

    Je suis un peu perdu la, j'aurai bien besoin d'une petite explication...
    Merci d'avance !

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Personne n'a d'idée ?

    J'ai essayé pas mal de chose, mettres les fichiers de code des .ascx dans le meme repertoire que le .aspx, definir un assembly dans <%@ Register %>, changer le nom de mes namespace, etc rien n'y fait...

    J'ai essayé de mettre le CodeBehind de mes Controls dans App_Code, a ce moment la, le peu voir mes namespaces dans le CodeBehind de Acceuil.aspx, mais visual web developer me sort que c'est interdit de mettre le CodeBehind de mes controles dans App_Code...

    Dans les docs que j'ai trouvé ils disent de surtout pas oublier <%@ Register %> au debut du .aspx, mais dans le mien il y est et ca ne change rien...

    Personne n'a jamais eu ce probleme ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bon je dois tres mal m'y prendre...

    Je cherche a permettre a ma page principale de declencher certains evenements de mes Controls Utilisateurs (comme un rafraichissement dans un affichage de données, etc) mais je ne parvient pas a rendre mes controls utilisateurs accessibles dans le Code Behind de ma web form.

    Est ce que qqn aurait une methode a me conseiller ?

  4. #4
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Points : 247
    Points
    247
    Par défaut
    Vérifie l'accessibilité de tes classes/méthodes/objets

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Merci de ta reponse GrosseVache (ca fait bizard de dire ca, limite insultant...).

    Je ne saurai l'expliquer, mais pour une obscure raison, apres avoir testé tout mes controls les uns apres les autres en les chargeant directement sans gestion d'interactivité dans la page d'acceuil, Visual Web Developper maintenant reconnait le nom d'espace Docmat.UserControls qu'il reniait juste avant.

    Je ne sais pas comment ni pourquoi mais ca marche, j'ai pourtant pas fait grand chose je pense... qu'est ce que VWD a fait dans mon dos c'est un mystere. Merci pour l'aide cependant.

    Probleme miraculeusement resolut.

  6. #6
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 218
    Points : 247
    Points
    247
    Par défaut
    Tant mieux ...

    Pense à changer l'état à résolu

    ps : Quant à mon pseudo...insultant pour qui le prend tel !

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Bah pour le pseudo je m'y ferai :p

    Merci pour le coup de main en tout cas, je change l'etat du post :p.

    bonne soirée

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/09/2008, 13h27
  2. Réponses: 4
    Dernier message: 22/02/2008, 16h04
  3. [C++.NET] Comment résoudre un problème d'arrondi avec Single ?
    Par KaeRZed dans le forum Framework .NET
    Réponses: 7
    Dernier message: 18/09/2007, 09h08
  4. Réponses: 5
    Dernier message: 05/07/2007, 11h24
  5. Probleme d'heritage avec des utilisateurs
    Par _R3nO_ dans le forum Hibernate
    Réponses: 3
    Dernier message: 31/01/2007, 00h22

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