cs_bastien30
Messages postés21Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention18 décembre 2004
-
1 juil. 2004 à 17:22
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
2 juil. 2004 à 15:36
Afin de pouvoir créer un bouton personnalisé en VB.NET (je veux avoir une image qui change sur le bouton lors du survol de la souris)
l'objet asp:imagebutton ne prenant pas en compte la methode onmouseover, j'ai créé une nouvelle classe de bouton comme l'expliquait un internaute à cette adresse --> http://www.c2i.fr/code.aspx?IDCode=440
ce que je ne comprends pas c'est comment utiliser cette nouvelle classe dans une page asp.net
lorsque je fait référence au nouvel objet, le compilateur me précise qu'elle n'existe pas
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 1 juil. 2004 à 18:24
je peux voir ton code ? normalement c'est tres simple et tu n'es pas obligé de passer par une assemblie
je t'explique comment ajouter le controle via le code car je me rappelle plus par l'html
donc tu as ta classe page
public class index
inherits Web.UI.Page
end class
et tu as la class du control :
Public Class ImageRollOverButton
Inherits System.Web.UI.WebControls.ImageButton
End Class
dans le page load tu n'as qu'a rajouter
dim IR as new ImageRollOverButton
IR.ID = "IR1"
IR.ImageOverURL = "Image.jpg"
cs_bastien30
Messages postés21Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention18 décembre 2004 1 juil. 2004 à 18:39
ok voici ce que j'ai fait :
j'ai créé une classe dans rollover.vb que j'ai compilé ensuite en DLL :
Imports System
Imports System.Web
Imports System.Web.UI.WebControls
Namespace StatFoot
Public Class MONBOUTTON
Inherits System.Web.UI.WebControls.ImageButton
Private _sImageOverURL As String
Public Property ImageOverURL() As String
Get
Return _sImageOverURL
End Get
Set(ByVal Value As String)
_sImageOverURL = Value
End Set
End Property
Protected Overrides Sub AddAttributesToRender(ByVal writer As System.Web.UI.HtmlTextWriter)
MyBase.AddAttributesToRender(writer)
If Me.ImageOverURL <> "" Then
writer.AddAttribute("onmouseOver", "javascript:this.src='" & Me.ImageOverURL & "';")
End If
If Me.ImageUrl <> "" Then
writer.AddAttribute("onmouseOut", "javascript:this.src='" & Me.ImageUrl & "';")
End If
End Sub
End Class
End Namespace
-------
dans ma page voici ce que j'ai mis :
<%@ Control Language="VB"%>
<%@ Register TagPrefix="STA" Namespace="StatFoot" Assembly="rollover" %>
<form runat="server">
</form>
PS: pfff c'est pas evident de passer à l'objet malgré toute mon expérience en SSII
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 1 juil. 2004 à 22:28
Oui effectivement c'est peut etre aussi pour ca, deja je me demande pourkoi tu as une directive control et non page ? tu travails dans un fichier ascx ? sinon tu dois avoir une directive control
pour ce qui est du referencement du control essaye
tout depend du namespace complet de ton control, en effet dans les options de ton projet de VS.net tu peux dire que ta dll utilisera le nom de ton assembly comme base de ton control, dans ce cas, ton controle aura le namespace rollover.StatFoot
cs_bastien30
Messages postés21Date d'inscriptionjeudi 24 juin 2004StatutMembreDernière intervention18 décembre 2004 2 juil. 2004 à 13:15
En fait je ne travaille pas avec Visual Studio.NEt mais avec Dreamweaver Mx pour créer mon site internet et donc, mes pages VB.NET.
ensuite je compile mes pages vb avec l'outil de compil vbc.exe pour créer mes dll (dans mon cas, la dll rollover.dll est issue de mon fichier rollover.vb)
Ce que je ne maitrise pas c'est comment créer mes options de projet dans ce cas.
le namespace de mon controle est StatFoot
voila c'est tout ce que je peux te donner comme info... pour le reste je manque de compétences
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 2 juil. 2004 à 15:36
j'ai jamais osé faire de dll avec dream je trouvais ca trop compliqué mais en tout cas felicitations de faire comme ca :)
pour ce qui est de ton problème tu peux trouver le namespace avec ildasm normalement il est distribué avec le framework sdk. son nom est tout simplement ildasm.exe
si tu n'y arrives tj pas avec ca, fais moi passer ta dll, si tu veux mon mail contacte moi en message privé, et je te dirais comment travaillais avec ta dll :)