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 :

[2.0][C#] cast tres etrange d'un control


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Par défaut [2.0][C#] cast tres etrange d'un control
    bonjour,

    j'ai un probleme recurent lors de l'implementation d'un control servant d'en-tete, de log/authentification/chargement de parametres perso au top de chaque page.

    la classe de mon control est :
    pages_general_barrenavig_ascx

    j'ai mi dans mon cs (ca illustre bien mon desemparement):
    try {
    ( (ASP._pages_general_barrenavig_ascx)barrenav ).Pagecour = Membership.ApplicationName+"\\pages\\DVD\\concert.aspx";
    }catch{
    ( (pages_General_barrenavig_ascx)barrenav ).Pagecour = Membership.ApplicationName+"\\pages\\DVD\\concert.aspx";
    }
    ce code plante bien evidement systematiquement a la compil...

    mais a l'execution, en general les pages s'executent avec le code du catch mais parfois je dois mettre le code du try...

    exemple en ce moment j'ai le code:
    //try {
    ( (ASP._pages_general_barrenavig_ascx)barrenav ).Pagecour = Membership.ApplicationName+"\\pages\\DVD\\concert.aspx";
    //}catch{
    // ( (pages_General_barrenavig_ascx)barrenav ).Pagecour = Membership.ApplicationName+"\\pages\\DVD\\concert.aspx";
    et l'erreur est :

    Impossible d'effectuer un cast d'un objet de type 'ASP._pages_general_barrenavig_ascx' en type 'ASP._pages_general_barrenavig_ascx'.
    je n'y comprend rien!!!

  2. #2
    Membre très actif
    Inscrit en
    Janvier 2004
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 208
    Par défaut
    cast en usercontrol

  3. #3
    Membre éclairé Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Par défaut
    oui, sorry...

    Control barrenav est declaré en variable de classe

  4. #4
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    ca sert à quelquechose ASP._?

  5. #5
    Membre éclairé Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Par défaut
    bah justement... c'est une grande partie du probleme...
    je vois pas d'ou il viens.

    je l'ai ajouté apres que le debugger me l'ai demandé, sans comprendre la raison... et depuis... je la cherche.

    passe encore si ca plantais pas regulierement!

    je repete que le ASP._ n'est pas requis systematiquement...
    Je n'ai pas reussi a trouver une cause commune aux fois ou j'ai du le mettre ou le retirer...

    visual studio serais pas derriere ca par hasard?

  6. #6
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    utilise plutot as pour les cast parce que tu peux tester si le nouvel objet est null ou pas.
    mais quelle est le nom de la classe dans le .cs de ta classe?

  7. #7
    Membre éclairé Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Par défaut
    as ??? c'est plutot en VB nan?

    le nom de ma classe dans mon cs c'est : pages_general_barrenavig_ascx

  8. #8
    Membre éclairé Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Par défaut
    Je ne fais pas de confusion entre usercontrol et control?

    usercontrol est bien le namespace d'heritage et control le type?

  9. #9
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    un control et un usercontrol ce sont tous les 2 des classes dont tu fais des objets.
    tu reprends le nom de classe de ton usercontrol et tu le castes avec et ca devrait le faire

  10. #10
    Membre éclairé Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Par défaut
    bon ok ca peux peut etre venir de la du coup

    mon module pages_General_barrenavig_ascx derive de la classe usercontrol

    mais je l'ai toujours appellé en declarant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    control barrenav = loadcontrol("chemin-du-control");
    et pour utiliser ses propriétés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((pages_General_barrenavig_ascx)barrenav).propriete2 = "ma valeur";
    le truc c'est que ca marche pendant un temps puis ca ne marche plus et qu'il faut remplacer pages_General_barrenavig_ascx par ASP._pages_general_barrenavig_ascx


    ----

    donc si je suis ton idée, j'ai crée un usercontrol et je le cast en control...
    et ca marche a moitié... bizarre quand meme!

    ----
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserControl barrenav = (UserControl)LoadControl
    fonctionne....

    ca reglera le probleme selon vous?

  11. #11
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    1 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 1 240
    Par défaut
    c'est le dernier code que tu as mis. sauf que tu devrais utiliser as au lieu du cast explicite. comme ca tu peux tester si c'est nul ou pas.
    c'est TotoUserControl = monControl as TotoUserControl

  12. #12
    Membre éclairé Avatar de igorzup
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    307
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 307
    Par défaut
    okay...

    effectivement.

    merci pour le as rattlehead.

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

Discussions similaires

  1. Bug ? peut-être, Etrange? très certainement
    Par Inarius dans le forum C#
    Réponses: 0
    Dernier message: 09/04/2010, 23h26
  2. Fonctionnement tres etrange de openMP
    Par uriotcea dans le forum Threads & Processus
    Réponses: 6
    Dernier message: 14/11/2009, 19h27
  3. Licenciement tres etrange
    Par berlioz_95870 dans le forum Licenciement
    Réponses: 4
    Dernier message: 02/10/2008, 14h07
  4. Réponses: 3
    Dernier message: 06/11/2007, 11h18
  5. Probleme tres etrange avec une requete...
    Par Jim_Nastiq dans le forum Langage
    Réponses: 15
    Dernier message: 18/04/2006, 15h03

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