Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/07/2006, 17h29   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1
Points : 0
Points : 0
Par défaut Problème de communication entre C# et ASP

Voici mon problème:
J'ai créé une page ASP par défaut avec le Web Development kit Express 2005 de MS
(donc utilise le framework .Net 2.0).

Cette page s'appele Default.aspx et le code C# qui lui est associé est Default.aspx.cs.
Cette page communique très bien avec les namespaces contenant d'autres classes C#.
Elle peut appeler les méthodes sur les pages C# par exemple : facadeUI.login(); Cela
fonctionne très bien.

Par contre, je me suis créé une fonction public dans la page web Default.aspx.cs soit
setNickName(string strNickName). J'aimerais pouvoir appeler cette méthode à partir des
classes C#. Je n'y arrive pas.

Comme vous pourrez le constater dans le code de Default.aspx.cs, j'envoie ma page courrante
à ma classe C# (FacadeUI facadeUI = new FacadeUI(this)). Dans ma classe facadeUI, je ne sais
pas quel type de classe lui donner pour pouvoir accéder aux méthodes publiques de ma page web.
On dirait qu'il n'y pas de namespace pour le using afin d'obtenir le type de "classe" de la
page web.
Voici le code du constructeur de ma classe C# facadeUI.
public FacadeUI(Page frmlogin)
{
this.frmlogin = frmlogin;
// J'aimerais pouvoir faire : frmlogin.setNickName("Toto");
// mais ne trouve pas la méthode puisque c'est du type Page...
}

J'ai mis comme type de classe Page. Bien sûr il faudrait qu'il y ait un type _Default ou
ASP.DefaultPage... ou quelque chose comme ça afin que je puisse accéder à
setNickName(string strNickName).

Donc mon problèm :
ASP vers C# fonctionne très bien (capable d'appeler facadeUI.login())
C# vers ASP ne fonctionne pas (pas capable d'appeler setNickName("Toto"))


Voici le code de Default.aspx.cs :

__________________________________________________________________________________
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

//Namespace pour les classes C#
using Client.Controler;
using Client.Model;
using Client.View;
using Client.PatternObserver;
using Client.Remote;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
FacadeModel facadeModel = new FacadeModel();
FacadeUI facadeUI = new FacadeUI(this); //On lui donne la page courrante
facadeUI.login();
}

public void setNickName(string strNickName)
{
this.TextBox1.Text = strNickName; //TextBox1 est protected...
}
}
__________________________________________________________________________________

Merci,
Prowlx
Prowlx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2006, 17h37   #2
Membre expérimenté
 
Avatar de Phiss
 
Homme
Développeur Web
Inscription : mai 2005
Messages : 660
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2005
Messages : 660
Points : 581
Points : 581
tu n'es pas dans le bon forum.
__________________
" L'absence diminue les médiocres passions et augmente les grandes, comme le vent éteint les bougies et allume le feu. "
La Rochefoucauld
Phiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h13.


 
 
 
 
Partenaires

Hébergement Web