Cette source vous permet de gérer les entêtes de page simplement par une Classe VB.NET.
Les Custom Web Controls sont présentés sur la librairie MSDN ici :
-
http://msdn.microsoft.com/library/fre/default.asp?url=/library/fre/vbcon/html/vboriWebUserControls.asp
Je vous invite à consulter cette adresse si vous souhaitez en apprendre plus sur les Custom Web Control.
Source / Exemple :
'**********************************************************************************
' $Archive: $
' $Author: $
' $Date: $ $Revision: $
' Description : Exemple de développement d'un CustomWebControl basé sur un Exemple d'Entête
' de Page que l'on placera simplement dans la page ASPX
'
' *********************************************************************************
Imports System.ComponentModel
Imports System.Web.UI
''' -----------------------------------------------------------------------------
''' Project : DotNetSysInfo
''' Class : FabWebControl
'''
''' -----------------------------------------------------------------------------
''' <summary>
''' Exemple de développement d'un CustomWebControl basé sur un Exemple d'Entête
''' de Page que l'on placera simplement dans la page ASPX
''' </summary>
''' <remarks>
''' </remarks>
''' <history>
''' [moi] 04/08/2004 Created
''' </history>
''' -----------------------------------------------------------------------------
<DefaultProperty("TitreEntete"), ToolboxData("<{0}:FabWebControl runat=server></{0}:FabWebControl>")> Public Class FabWebControl
Inherits System.Web.UI.WebControls.WebControl
Dim _TitreEntete As String = ""
Dim _SousTitreEntete As String = ""
Dim _CommentaireTitreEntete As String = ""
Dim _URLImageEntete As String = ""
#Region "Propriétés du WebControl"
''' -----------------------------------------------------------------------------
''' <summary>
''' Titre de l'entete que l'on utilisera dans la page
''' </summary>
''' <returns></returns>
''' <remarks>
''' </remarks>
''' <history>
''' [moi] 04/08/2004 Created
''' </history>
''' -----------------------------------------------------------------------------
<Bindable(True), Category("Appearance"), DefaultValue("")> Property [TitreEntete]() As String
Get
Return _TitreEntete
End Get
Set(ByVal Value As String)
_TitreEntete = Value
End Set
End Property
''' -----------------------------------------------------------------------------
''' <summary>
''' SousTitre de l'entete que l'on utilisera dans la page
''' </summary>
''' <returns></returns>
''' <remarks>
''' </remarks>
''' <history>
''' [moi] 04/08/2004 Created
''' </history>
''' -----------------------------------------------------------------------------
<Bindable(True), Category("Appearance"), DefaultValue("")> Property [SousTitreEntete]() As String
Get
Return _SousTitreEntete
End Get
Set(ByVal Value As String)
_SousTitreEntete = Value
End Set
End Property
''' -----------------------------------------------------------------------------
''' <summary>
''' Commentaire de l'entete que l'on utilisera dans la page
''' </summary>
''' <returns></returns>
''' <remarks>
''' </remarks>
''' <history>
''' [moi] 04/08/2004 Created
''' </history>
''' -----------------------------------------------------------------------------
<Bindable(True), Category("Appearance"), DefaultValue("")> Property [CommentaireTitreEntete]() As String
Get
Return _CommentaireTitreEntete
End Get
Set(ByVal Value As String)
_CommentaireTitreEntete = Value
End Set
End Property
''' -----------------------------------------------------------------------------
''' <summary>
''' URL de l'image qui sera associée à l'entête de la page
''' </summary>
''' <returns></returns>
''' <remarks>
''' </remarks>
''' <history>
''' [moi] 04/08/2004 Created
''' </history>
''' -----------------------------------------------------------------------------
<Bindable(True), Category("Appearance"), DefaultValue("")> Property [URLImageEntete]() As String
Get
Return _URLImageEntete
End Get
Set(ByVal Value As String)
_URLImageEntete = Value
End Set
End Property
' -----------------------------------------------------------------------------
#End Region
''' -----------------------------------------------------------------------------
''' <summary>
''' Sortie envoyée par le WebControl lors de son placement dans la page
''' </summary>
''' <param name="output"></param>
''' <remarks>
''' </remarks>
''' <history>
''' [moi] 04/08/2004 Created
''' </history>
''' -----------------------------------------------------------------------------
Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
' On va déja paramétrer la date courante afin de l'afficher dans l'entête
Dim c As New System.Globalization.CultureInfo("fr-FR")
Dim tempdate As String = DateTime.Now.ToString("f", c.DateTimeFormat)
' Variable temporaire qui contiendra le flux HTML à renvoyer
Dim Temp As New System.Text.StringBuilder
' Chargement du flux HTML que l'on aura en sortie
Temp.Append("<TABLE cellSpacing='1' cellPadding='1' width='100%' border='0'>")
Temp.Append("<TR width='100%'>")
Temp.Append("<TD>")
If Not [URLImageEntete] Is Nothing AndAlso [URLImageEntete] <> "" Then
Temp.Append("<IMG src='" & [URLImageEntete] & "' align='left' Height='62'>")
End If
Temp.Append("<FONT SIZE=4><B>")
Temp.Append([TitreEntete])
Temp.Append("</B></FONT><BR><FONT SIZE=2><B>")
Temp.Append([SousTitreEntete])
Temp.Append("</B></FONT><BR>")
Temp.Append([_CommentaireTitreEntete])
Temp.Append("<TD vAlign='top' align='right'>")
Temp.Append(tempdate)
Temp.Append("</TD></TR></TABLE><BR><BR>")
output.Write(Temp.ToString)
End Sub
' -----------------------------------------------------------------------------
End Class
' -------------------- UTILISATION DU CONTROL --------------------------
' Directement dans la page ASPX :
....
<%@ Register
TagPrefix="cc1"
Namespace="LeNamSpace"
Assembly="LeNomDuProjet" %>
....
<cc1:FabWebControl
id="FabWebControl1"
runat="server"
SousTitreEntete="Sous Titre 2"
TitreEntete="Titre 2"
CommentaireTitreEntete="Commentaire 2"
URLImageEntete="./images/information.gif">
</cc1:FabWebControl>
....
' -------------------------------------------------------------------
' Directement dans le fichier du Code Behind :
Dim Testcontrol As New FabWebControl
Testcontrol.CommentaireTitreEntete = "Le commentaire"
Testcontrol.URLImageEntete = "./images/question.gif"
Testcontrol.TitreEntete = "Le titre"
Testcontrol.SousTitreEntete = "Le Sous Titre"
Me.Controls.Add(Testcontrol)
' -------------------------------------------------------------------
Conclusion :
Bon coding
Romelard Fabrice (Alias F___).
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.