Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer une valeur d'un Control User acsx dans un Label [ Archives ASP & ASP.NET / ASP.net ] (ryckbosch)

jeudi 8 juillet 2004 à 10:56:47 | Récupérer une valeur d'un Control User acsx dans un Label

ryckbosch

Membre Club

Bonjour,

Je ne sais pas si j'utilise correctement le passage des variables entre un Control User (Nbre_Sites.ascx) et la page qui l'appelle (Test.aspx), mais je n'arrive pas à récupérer une valeur venant du Control user pour l'affecter à un outil Label (id="Lbl_Count") dans le cade présenté ci-dessous.

Voici le code que j'utilise pour cela, et je ne trouve pas mon erreur.
Merci par avance à tout ceux qui pourrait me dire ou se trouve mon erreur, car je ne sais plus quoi faire.


Code page Test.aspx
------------------------
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Test.aspx.vb" Inherits="NetWork.Test"%>
<%@ Register TagPrefix="Net" TagName="NbSites" Src="Nbre_Sites.ascx" %>

<html>
<head>
<title>Test</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<net:nbsites id="NbSites_1" prop_sites="Liste_Sites" runat="server" /><br>
<asp:Label id="Lbl_Count" runat="server" />

</form>
</body>
</html>

Code behind Test.aspx.vb
-----------------------------
Public Class Test
Inherits System.Web.UI.Page

#Region " Code généré par le Concepteur Web Form "

'Cet appel est requis par le Concepteur Web Form.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub
Protected WithEvents Lbl_Count As System.Web.UI.WebControls.Label
Protected WithEvents Label1 As System.Web.UI.WebControls.Label

'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.
'Ne pas supprimer ou déplacer.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
'Ne le modifiez pas en utilisant l'éditeur de code.
InitializeComponent()
End Sub

#End Region

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim Nombre As New Nbre_Sites
Lbl_Count.Text = "Réponse = " & Nombre.Prop_Nbr
End Sub

End Class


Code page Nbre_Sites.ascx
------------------------------
<%@ Control Language="vb" AutoEventWireup="false" src="Nbre_Sites.ascx.vb" Inherits="Nbre_Sites" %>

<asp:label id="Label" runat="server" visible="true" />



Code behind Nbre_Sites.ascx.vb
------------------------------------
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Public Class Nbre_Sites
Inherits System.Web.UI.UserControl

#Region " Code généré par le Concepteur Web Form "

'Cet appel est requis par le Concepteur Web Form.
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

End Sub
Protected WithEvents Label As System.Web.UI.WebControls.Label

'REMARQUE : la déclaration d'espace réservé suivante est requise par le Concepteur Web Form.
'Ne pas supprimer ou déplacer.
Private designerPlaceholderDeclaration As System.Object

Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN : cet appel de méthode est requis par le Concepteur Web Form
'Ne le modifiez pas en utilisant l'éditeur de code.
InitializeComponent()
End Sub

#End Region
Dim _Prop_Sites As String
Dim _Prop_Nbr As String

Public Property Prop_Sites() As String
Get
Return _Prop_Sites
End Get

Set(ByVal Value As String)
_Prop_Sites = Value
End Set
End Property

Public Property Prop_Nbr() As String
Get
Return _Prop_Nbr
End Get

Set(ByVal Value As String)
_Prop_Nbr = Value
End Set
End Property

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Nbre_Enregistrement(Prop_Sites)
End Sub

Private Function Nbre_Enregistrement(SQL_String As String)
Dim SQL As String = "SELECT Count(*) FROM " & SQL_String
Dim DB As SqlConnection = New SqlConnection(ConnectionString())
Dim SQL_CMD As SqlCommand = New SqlCommand(SQL, DB)
Dim iCount As Integer

SQL_CMD.Connection.Open()
iCount = cInt(SQL_CMD.ExecuteScalar())
Label.Text = iCount
_Prop_Nbr = iCount
SQL_CMD.Connection.Close()
End Function

Private Function ConnectionString() As String
Dim myConn As String = ConfigurationSettings.AppSettings("ConnectionString")
Return myConn
End Function

End Class

jeudi 8 juillet 2004 à 12:19:17 | Re : Récupérer une valeur d'un Control User acsx dans un Label

jesusonline

Membre Club Administrateur CodeS-SourceS
Ton problème semble venir d'ici :

Dim Nombre As New Nbre_Sites
Lbl_Count.Text = "Réponse = " & Nombre.Prop_Nbr

tu instancie un nouveau Nbre_site, ce ne sera donc pas le meme que celui déclare dans la page

pour que ca fonctionne, il faudrais ajouter :
dan Test.aspx.vb
Protected WithEvents NbSites_1 As Nbre_site

Lbl_Count.Text = "Réponse = " & NbSites_1.Prop_Nbr

Je suis pas sur que ca marche, mais ca ne pouvait pas marcher avant :)

sinon tu as cette methode :
http://www.aspfr.com/code.aspx?ID=8942

@+

Cyril

jeudi 8 juillet 2004 à 12:47:19 | Re : Récupérer une valeur d'un Control User acsx dans un Label

ryckbosch

Membre Club

Merci pour cette réponse, mais cela ne semble pas être la solution du problème.

Après avoir ajouté donc la ligne :
Protected WithEvents NbSites_1 As Nbre_Sites

une fois compilé, j'obtient l'erreur cette fois :

"La classe de base comporte le champ 'NbSites_1', mais son type (NetWork.Nbre_Sites) n'est pas compatible avec le type du contrôle (ASP.Nbre_Sites_ascx)."

On dirait cette fois qu'il n'y a pas compatibilité avec le control ASCX.

jeudi 8 juillet 2004 à 13:34:27 | Re : Récupérer une valeur d'un Control User acsx dans un Label

jesusonline

Membre Club Administrateur CodeS-SourceS
c'est à quelle ligne qu'il y a cette erreur ?

Cyril

jeudi 8 juillet 2004 à 14:01:28 | Re : Récupérer une valeur d'un Control User acsx dans un Label

ryckbosch

Membre Club

Dans la ligne 10 indiquée en rouge ci-dessous :

Ligne 8 : <body>
Ligne 9 : <form id="Form1" method="post" runat="server">
Ligne 10 : <net:nbsites id="NbSites_1" prop_sites="Liste_Sites" runat="server" /><br>
Ligne 11 : <asp:Label id="Lbl_Count" runat="server" />

jeudi 8 juillet 2004 à 14:31:19 | Re : Récupérer une valeur d'un Control User acsx dans un Label

jesusonline

Membre Club Administrateur CodeS-SourceS
Je comprend pas l'erreur :(
d'habitude je fais pas comme ca. j'instancie le controle par le code, et le rajoute à la page dans le code.
Voici comment je ferais :
Dim Nombre As New Nbre_Sites
page.controls.add(Nombre)

Lbl_Count.Text = "Réponse = " & Nombre.Prop_Nbr

et j'enleverais le controle dans la partie aspx: supprimes ca : <net:nbsites id="NbSites_1" prop_sites="Liste_Sites" runat="server" />

je pense que ca devrait marcher, mais ca fait pas mal de temps que je n'ai pas fait ca, et je m'en rappelle pas trop :)


Cyril

jeudi 8 juillet 2004 à 14:57:29 | Re : Récupérer une valeur d'un Control User acsx dans un Label

ryckbosch

Membre Club

Merci beaucoup Cyril,

Cela ne fonctionne pas non plus d'autant plus que je ne pas supprimer la ligne :

<net:nbsites id="NbSites_1" prop_sites="Liste_Sites" runat="server" />

car je fais un transfert de variable; ici c'est prop_sites="Listes-_Sites"

J'avais déjà essayé pas mal de truc autour de tout ça, mais rien ne passe.

Le but de ma manip est la suivante :

- Transférer en partant d'une page ASPX un valeur vers un Control User, celui-ci traite une requête en fonction de la valeur qu'il a reçu, et je dois récupérer le résultat dans un label sur la page de départ ASPX.

Merci encore Cyril pour ton aide.

Alain

jeudi 8 juillet 2004 à 17:28:02 | Re : Récupérer une valeur d'un Control User acsx dans un Label

jesusonline

Membre Club Administrateur CodeS-SourceS

pour ton premier problème :

Dim Nombre As New Nbre_Sites
Nombre .prop_sites="Listes-_Sites"
page.controls.add(Nombre)


Par contre, j'ai une question pourkoi fais tu un UserControl, alors qu'apparemment il ne retourne aucun code HTML.

pourkoi ne ferais tu pas tout simplement une classe ?


Cyril

jeudi 8 juillet 2004 à 18:18:44 | Re : Récupérer une valeur d'un Control User acsx dans un Label

ryckbosch

Membre Club

OK Super Cyril, cela fonctionne bien maintenant. Merci encore.

Je n'ai pas fait de classe parce que je me maîtrise pas encore suffisament ce language.

J'ai réalisé un site complet pour la gestion des adresses IP, VLAN, Réseau, Sous-Réseau etc... d'un réseau d'entreprise (gros réseau) avec serveur 2003, base sur SQL2000.

Du coté ASP, il n'y a pas trop de souci, mais coté ASP.NET, il y a un peu plus de suptilité.

En fait, j'essaye de traduire tout le code que j'ai fait pour ce site vers ASP.NET (+ de 130 pages ASP, à peu prés 16000 lignes de code). J'ai utilisé des techniques particulièrement suptiles, et le mettre en ASP.NET, cela va me faire un peu de boulot.

Alain,


jeudi 8 juillet 2004 à 18:37:36 | Re : Récupérer une valeur d'un Control User acsx dans un Label

jesusonline

Membre Club Administrateur CodeS-SourceS
oui mais je te conseil avant de te lancer dans un projet comme celui la, de bien connaitre asp.net.
Dans ton cas je passerais pas une classe, c'est beaucoup plus simple, et surement beaucoup plus performant, la notion de classe en asp était presque absente mais je te conseil de t'y mettre.

Exemple de classe

Public Class Employe

Public Name as string
Public CodeEmploye as integer

Public sub New( ByVal Nom as string)
Name = Nom
end sub

Public function GetCodeEmploye() as integer
dim Code as integer
'interrogation dans la base de donné
return Code
end Function

End Class

Dans le page load de la page :

public sub Page_Load(...)

dim Personne as new Employe("Durand")
Label1.text = Personne.GetCodeEmploye

end sub

dans le .aspx :

<asp:label id="Label1" runat="server" />

Voici un exemple d'utilisation d'une classe, c'est un exemple tres simple. j'espere que ca te permettra de voir le fonctionnement de celles ci

@+

Cyril


1 2

Cette discussion est classé dans : web, end, string, system, prop


Répondre à ce message

Sujets en rapport avec ce message

gros souci avec vs2005 [ par yohan49 ] salut les garsj'ai un souci de deploiment de ma page aspj'ai installer ma page sur mon pc avec iis , le serveur marche seulement quand je demande a ie usercontrole : La référence d'objet n'est pas définie à une instance d'un objet. [ par coulis ] Bonjour à tous,Voilà mon problème: je viens de créer une nouvelle application .net et j'ai l'erreur suivante dès que je positionne un usercontrol ? La La référence d'objet n'est pas définie à une instance d'un objet [ par buze63 ] Salut G une page aspx avec un bouton et un usercontrol qui possede un label et un textbox et je voudrai que lorsque je clic sur le bouton un message a Serialisation/deserialisation XML SOAP .NET [ par hic78 ] Bonjour, J'utilise un client proxy en C# pour interroger un web service SOAP/Java Voici le code de la classe: using System.Diagnostics; using System System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet [ par bdl20042000 ] Bonjour,j'ai un message d'erreur sur un Windows Server mais pas en local sur mon poste de développement :La référence d'objet n'est pas définie à une besoin d'éclaircissements sur le traçage d'une exception [ par equinoxe83 ] Bonjour à tous,Pas sur que j'ai posté dansle bon thème ... Merci de m'indiquer si je dois le ré-aiguiller.Bref, mon Pb est le suivant :J'ai un formvie débutant, probleme avec ASyncCallBack [ par matche ] Bonjour, Je débute tout juste avec .Net. Je dois suivre une formation dans peu de temps, mais j'ai une chose à faire avant.Je développe avec Visual Controle Utilisateur hérité du gridview [ par lolowan ] Bonjour,J'ai crée une librairie avec un contrôle utilisateur dérivant du GridView Voici son code using System; using System.Collections.Generic; using Application serveur non disponible [ par yanis7518 ] Salut a tous voila j'ai developpé un site WEB asp.net avec des ajaxcontroltoolkitJe suis sous XP pro SP2 et IIS 5.1asp.net est enregistré sur IIS : as Input string was not in a correct format. [ par math083 ] Bonjour !Je galère depuis une semaine au sujet d'un petit problème. J'ai développé une petite application de gestion d'images en asp.net mais avec le


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,468 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.