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