Surcharge du controle hyperlink pour lui faire afficher une image et du texte...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 766 fois - Téléchargée 35 fois

Contenu du snippet

le titre devrait se suffire à lui-même ;-)
le controle présenté, permet de faire afficher une image avec du texte dans un lien. En effet, le controle HyperLink ne le fait pas.

Source / Exemple :


Imports System.Web.UI.WebControls

Namespace skyControls
	'permet de faire un lien qui contient une image et du texte....
	'les 4 propriétés servent au rendu de l'image:
	'isrc = l'url du fichier image
	'iheight = hauteur en pixel de l'image
	'iwidth = largeur en pixel de l'image
	'ImgBefore = si true ou non renseigné, permet de spécifier que l'image sera placée avant le texte, si False, l'image sera placée après le texte
	'comme le contrôle hérite de HyperLink, les propriétés standards sont accessibles.
	'n'oubliez pas de renseigner la propriété NavigateUrl afin d'avoir le lien ;-)

	Public Class textimglink
		Inherits HyperLink

		Public _isrc As String = String.Empty
		Public _iheight As String = String.Empty
		Public _iwidth As String = String.Empty
		Public _ImgBefore As Boolean = True

		Public Property isrc() As String
			Get
				isrc = _isrc
			End Get
			Set(ByVal Value As String)
				_isrc = Value
			End Set
		End Property
		Public Property iheight() As String
			Get
				iheight = _iheight
			End Get
			Set(ByVal Value As String)
				_iheight = Value
			End Set
		End Property
		Public Property iwidth() As String
			Get
				iwidth = _iwidth
			End Get
			Set(ByVal Value As String)
				_iwidth = Value
			End Set
		End Property
		Public Property ImgBefore() As Boolean
			Get
				ImgBefore = _ImgBefore

			End Get
			Set(ByVal Value As Boolean)
				_ImgBefore = Value
			End Set
		End Property

		Protected Overrides Sub RenderContents(ByVal writer As System.Web.UI.HtmlTextWriter)
			Dim myimg As System.Web.UI.WebControls.Image
			myimg = New System.Web.UI.WebControls.Image()

			myimg.Attributes.Add("border", 0)
			myimg.Attributes.Add("height", iheight)
			myimg.Attributes.Add("width", iwidth)
			myimg.ImageUrl = Me.isrc

			If ImgBefore = True Then
				myimg.RenderControl(writer)
				writer.Write(Me.Text)
			Else
				writer.Write(Me.Text)
				myimg.RenderControl(writer)

			End If

		End Sub

	End Class

End Namespace

Conclusion :


merci de me prévenir si vous améliorez, ou trouvez une erreur dans ce code.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
3
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
14 juillet 2007

Desole je me suis apercu de la date apres l'envoi du commentaire.

Du coup j'ai modifie un peu le code pour qu'il prenne la valeur de imageURL et ca marche nikel. Meme apres 4 ans ton code sert encore ;)
Messages postés
5
Date d'inscription
lundi 16 avril 2001
Statut
Membre
Dernière intervention
14 juillet 2007

ben après 4 ans que j'ai écris cette source, je peux pas te dire pourquoi j'avais pas utilisé ImageUrl....

Tu as essayé???
Messages postés
3
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
14 juillet 2007

Bien pratique cependant une petite question.

Pourquoi n'utilises-tu pas la propriete ImageURL de HyperLink comme url de ton image ?

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.