begin process at 2012 05 27 14:53:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

UserControl

 > 

Appel de fonctions entre deux userControls


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Appel de fonctions entre deux userControls

jeudi 21 décembre 2006 à 11:33:15 | Appel de fonctions entre deux userControls

fomson91

Bonjour. J'ai un problème qui me persiste depuis 2 jour maintenant.
J'ai une page aspx qui contient 2 usercontrols qu'on va appeler uc1 (de type user_control1) et uc2 (de type user_control2).
uc1 a une fonction qu'on va appeler fonction1 et uc2 a une fonction fonction2

Dans uc1 j'aimerai faire appel à fonction2 de uc2. Et dans uc2 j'aimerai faire appel à fonction 1 de uc1.
Pour cela j'ecris:

Dans uc1:  ((user_control2)this.Parent.FindControl("uc2")).fonction2(...)
Dans uc2:  ((user_control1)this.Parent.FindControl("uc1")).fonction1(...)

Mais il me fait cette erreur à la compilation:
"Erreur 1 Le type ou le nom d'espace de noms 'user_control2' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?) "
Cette erreur est bizarre car les deux user control sont déclarés "public partial class...." donc devraient etre visible dans tout le projet non?
J'ai voulu contourner le problème en créant un namespace mais ca ne lui plait pas non plus.

Merci de m'aider car ca commence à devenir urgent.
jeudi 21 décembre 2006 à 11:35:55 | Re : Appel de fonctions entre deux userControls

Nikoui

Est ce que les deux user controls appartiennent au même namespace?
jeudi 21 décembre 2006 à 11:51:40 | Re : Appel de fonctions entre deux userControls

fomson91

En fait je suis débutant et programme en ASP.NET 2.0 et je n'ai utilisé pratiquement aucun namespace dans le projet (certaines classes du fichier App_code en ont un mais les userControls et les Webform n'en ont pas)

jeudi 21 décembre 2006 à 11:57:55 | Re : Appel de fonctions entre deux userControls

Bidou

Administrateur CodeS-SourceS
Déplacé sur aspfr.com !





-Blog-
jeudi 21 décembre 2006 à 21:07:19 | Re : Appel de fonctions entre deux userControls

jesusonline

Membre Club Administrateur CodeS-SourceS
Bonsoir,

en fait en ASP.net par défaut toutes les pages sont compilé dans une assembly (une page = une assembly), pour t'amuser avec le type il faut passer par le namespace ASP.tonUC_ASCX, mais je ne te conseille pas cette solution le mieux est de faire une interface que tu implémentes dans ta page et tu peux ainsi caster la page en ton interface (qui sera accessible de partout)... Mais il est rarement utile d'avoir a appellé une méthode d'une autre page car seulement une instance de la page est accessible à la fois donc tu seras obligé d'acceder à une méthode static, et dans la plupart des cas cette méthode static n'a rien à faire dans la page mais plutot dans un helper :-)

Pour avoir le meme comportement que sous VS .net 2003 tu peux utiliser le Web Application Project qui te permettras d'avoir une assembly pour tout le site, il y a certains avantages et certains inconvenient a developper ainsi, je préfére utiliser le Web Deployment project qui mix les deux : le mode multi assembly de VS 2005 qui est très bien pour developper et le mode VS 2003 (mono assembly) pour la production (beaucoup plus performant)


Cyril - MVS - MCP
vendredi 22 décembre 2006 à 14:48:57 | Re : Appel de fonctions entre deux userControls

fomson91

Bonjour et merci pour ta réponse.
Le fait de passer par une interface est une bonne idée mais le problème c'est que la fonction que je dois appeler dans l'autre userControl est liée à un controle de celui-ci.
La fonction doit faire ceci:
Dans l'user control qui fait ch...., j'ai un gridview qui contient un template field (checkbox) et la fonction en question doit construire un ArrayList avec les identifiants des lignes du gridView qui ont été sélectionnées (toutes les lignes dont la checkbox a été cochée).
Ma première idée était de mettre l'arrayList dans une variable de session et de de la récupérer dans l'autre userControl mais je trouve que les variables de sessions ne sont pas très stables (surtout quand on oublie de les détruire...).

Voila merci
vendredi 22 décembre 2006 à 15:12:49 | Re : Appel de fonctions entre deux userControls

jesusonline

Membre Club Administrateur CodeS-SourceS
euh ???

Chaque nouvelle requete entraine un nouveau thread executant la page donc tu n'auras pas accés aux informations de l'autre page ... les variables de sessions sont plutot stable je trouve, et elles se détruisent automatiquement en fin de session !


Cyril - MVS - MCP
vendredi 22 décembre 2006 à 16:55:00 | Re : Appel de fonctions entre deux userControls

fomson91

En fait le problème que j'ai remarqué avec les variables de sessions est le suivant : Tu as une page ou tu initialise ta variable de session, tu la laisse ouverte. puis tu en ouvres une autre ou tu modifie cette variable de session.
Dans la première page tu n'auras plus la bonne valeur!!! enfin je crois.
Ya  pas un endroit dans VS ou je pourrai configurer le namespace par défaut de mon site (la racine par exple :) ). Ca serait plus simple...

vendredi 22 décembre 2006 à 17:03:15 | Re : Appel de fonctions entre deux userControls

jesusonline

Membre Club Administrateur CodeS-SourceS
Relis ce que j'ai écrit plus haut ...


Cyril - MVS - MCP
mardi 26 décembre 2006 à 10:51:49 | Re : Appel de fonctions entre deux userControls

fomson91


J'ai essayé la méthode ASP.monUC_ASCX mais il fait l'erreur: "Erreur 54 Le type ou le nom d'espace de noms 'monUC_ascx' n'existe pas dans la classe ou l'espace de noms 'ASP' (une référence d'assembly est-elle manquante ?) "
J'ai également utilisé la méthode de l'interface mais elle ne fonctionne pas pour les raisons que j'ai évoquées dans un de mes précédents posts.
Le Web Application Project et le Web Deployment Project ne sont pas installés...
Une fois que je les aurai installés, est ce que je pourrai facilement exporter mon site web vers l'un de ces deux modèles?

1 2

Cette discussion est classée dans : appel, user, usercontrols, uc1, uc2


Répondre à ce message

Sujets en rapport avec ce message

Comment creer un forum ?? [ par pekinio ] Ben voila, je ne parle pas du tout asp, pour l'instant, et donc je suis un pur nul.c pour cela que j aimerais que quelqun me dise comment creer des se APPEL SOLIDARITE SUR ASP FR [ par DEL ] je debute en ASP pourriez vous m'aider en mettant sur ASPFR des sources simples ou des tutoriaux comprehensibles par un débutant ? Merci d'avance Récupération du nom de machine et du user identifié sur une machine ! [ par Manu ] Je n'arrive pas à récupérer le nom de la machine cliente ni l'identifiant de la personne connectée.Comment faire car les variables serveur ne me renv Comment envoyer un Mail sur Intranet ?? [ par Stycklapich ] Bonjour,Toutes les procédures utilisées pour envoyer un mail avec ASP font appel appel au protocole SMTP installé sur le serveur. Dans le cas d'un int des form imbriquées [ par Jack ] je voudrais réussir à imbriquer duex form l'une dans l'autre.la form principale fairait appel à une fonction php dans un fichier.php suite à un bouton Appel de fonction avec plus d'un parametres [ par crambert ] Bonjour,En asp vbscript je fais un appel de fonction, comme suit : «changement_etat(variable)», où changement_etat est le nom de ma fonction. Tout mar Appel d'un sub VB dans une fonction Javascript [ par Bandit ] Bonjour , Je souhaiterais faire appel a une Sub VB lors de l'evenement OnMouseClick d'un lien .ex :...OnMouseClick = "Functionjava()"....FunctionJava{ Appel d'un sub VB dans une fonction javascript [ par Bandit ] Bonjour , Je souhaiterais faire appel a une Sub VB lors de l'evenement OnMouseClick d'un lien .ex :...OnMouseClick = "Functionjava()"....FunctionJava{ Problème avec l'appel de requêtes faite sous access 2002 via asp [ par Dado ] Je ne comprend pas, on pouvait appeler comme on le fait avec un table, une requête faite dans access 97 et 2000 via l'ASP. Mais lorque la requête est Appel d'une DLL [ par jayce ] Peut'on appeller une DLL à partir d'un script VB.Si oui, comment ?Merci.


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales