begin process at 2012 05 27 07:14:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > NOUVEAU BUTTON : BUTTONUNIQUE

NOUVEAU BUTTON : BUTTONUNIQUE


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Source .NET ( DotNet ) Classé sous :buttonunique, customcontrol, héritage, webcontrol Niveau :Débutant Date de création :29/03/2004 Date de mise à jour :02/04/2004 21:46:54 Vu / téléchargé :7 684 / 199

Auteur : jesusonline

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note


 Description

Ce controle derive de button donc possede toute ces propriétés, j'ai rajouté par contre une propriété isOneClick, qui desactive le bouton une fois cliqué.

Si cette propriété vaut true (valeur par défaut) lorsque le client aura cliqué sur le bouton il deviendra grisé jusqu'au postback ce qui evite que l'utilisateur clique plusieurs fois en attendant que la page se charge; car sinon l'action associé au bouton est effectué autant de fois que de click

à False, il n'y a aucun changement avec un bouton classique

J'ai rajouté alert qui est assez simple à comprendre ...
Je vous ai mis dans le zip, l'assembly du controle (la dll) le code du bouton est en dessous

pour utiliser le bouton, il vous suffit de copier la dll dans le dossier bin de l'application web, ensuite dans la page web vous declarer votre bouton comme cela :

<%@ Register TagPrefix="cc1" Namespace="Cyril.Controls.Webcontrols" Assembly="Cyril.Controls" %>

Pour l'ajouter dans la page il vous suffit de mettre ca
<cc1:ButtonUniqueid="ButtonUnique1" runat="server" isoneclick="true" />

pour tester le bouton je vous conseille dans votre page load d'ajouter du code qui prend du temps sinon vous n'aurez pas le temps de voir le bouton se griser


Installation sous VS.net :
Cliquer avec le bouton droit dans la boite à outil puis sur ajout/suppression de composant et aller chercher la dll, vous aurez alors la liste des controles present dans la dll, ne selectionner que ButtonUnique, les autres étant encore en cours de developpement


<b>MIS A JOUR :</b>
-30 Mars 2004 : - Grosse mis à jour consulter http://www.aspfr.com/code.aspx?ID=21583 pour mieux comprendre
                        - J'ai enfin mis une DLL sur le net : http://jesusonline.free.fr/Control/ consulter la pour trouver la version la plus recente

Source

  • Imports System.ComponentModel
  • Imports System.Web.UI
  • Imports System.Web.UI.Webcontrols
  • Imports System.Web
  • Namespace Cyril
  • Namespace Controls
  • Namespace Webcontrols
  • ''' -----------------------------------------------------------------------------
  • ''' Project : Cyril.Controls
  • ''' Class : Controls.Webcontrols.ButtonUnique
  • '''
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' Nouveau bouton
  • ''' </summary>
  • ''' <remarks>
  • ''' Voir http://www.aspfr.com/code.aspx?ID=21560
  • ''' </remarks>
  • ''' <history>
  • ''' [DURAND Cyril] 29/03/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • <ToolboxData("<{0}:ButtonUnique runat=server></{0}:ButtonUnique>")> _
  • Public Class ButtonUnique
  • Inherits System.Web.UI.WebControls.Button
  • Private _isOneClick As Boolean = True
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' Pour que le bouton ne soit actif qu'une seule fois
  • ''' </summary>
  • ''' <value>Default : True</value>
  • ''' <remarks>
  • ''' </remarks>
  • ''' <history>
  • ''' [DURAND Cyril] 29/03/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • <Category("Autres"), _
  • Description("Pour que le bouton ne soit actif qu'une seule fois")> _
  • Public Property isOneClick() As Boolean
  • Get
  • Return _isOneClick
  • End Get
  • Set(ByVal Value As Boolean)
  • _isOneClick = Value
  • End Set
  • End Property
  • Private _Alert As String
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' Pour que le bouton ne soit actif qu'une seule fois
  • ''' </summary>
  • ''' <value>Default : True</value>
  • ''' <remarks>
  • ''' </remarks>
  • ''' <history>
  • ''' [DURAND Cyril] 29/03/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • <Category("Autres"), _
  • Description("Message d'alert")> _
  • Public Property Alert() As String
  • Get
  • Return _Alert
  • End Get
  • Set(ByVal Value As String)
  • _Alert = Value
  • End Set
  • End Property
  • Private _OnRollOverText As String
  • ''' -----------------------------------------------------------------------------
  • ''' <summary>
  • ''' Le texte quand on passe la souris sur le bouton
  • ''' </summary>
  • ''' <value></value>
  • ''' <remarks>
  • ''' </remarks>
  • ''' <history>
  • ''' [DURAND Cyril] 30/03/2004 Created
  • ''' </history>
  • ''' -----------------------------------------------------------------------------
  • <Category("Apparence"), _
  • Description("Le texte quand on passe la souris sur le bouton")> _
  • Public Property OnRollOverText() As String
  • Get
  • Return _OnRollOverText
  • End Get
  • Set(ByVal Value As String)
  • _OnRollOverText = Value
  • End Set
  • End Property
  • Protected Overrides Sub AddAttributesToRender(ByVal writer As System.Web.UI.HtmlTextWriter)
  • MyBase.AddAttributesToRender(writer)
  • Dim isOnClickAttributsAdded As Boolean = False
  • Dim isOnMouseOverAttributsAdded As Boolean = False
  • Dim isOnMouseOutAttributsAdded As Boolean = False
  • Dim CodeJavascript As New Controls.Utility.EcrireEvenementJavascript(writer, Me.UniqueID)
  • If Me.isOneClick = True Then
  • If isOnClickAttributsAdded = False Then
  • writer.AddAttribute("OnClick", "self.setTimeout('OnClick" & Me.UniqueID & "();' ,1);")
  • isOnClickAttributsAdded = True
  • End If
  • CodeJavascript.OnClick("document.getElementById('" & Me.UniqueID & "').disabled=true;")
  • End If
  • If Not Me.Alert = "" Then
  • If isOnClickAttributsAdded = False Then
  • writer.AddAttribute("onclick", "self.setTimeout('OneClick" & Me.UniqueID & "();' ,1);")
  • isOnClickAttributsAdded = True
  • End If
  • CodeJavascript.OnClick("alert('" & Replace(Me.Alert, "'", "\'") & "');")
  • End If
  • CodeJavascript.EcrireJavascript()
  • End Sub
  • End Class
  • End Namespace
  • End Namespace
  • End Namespace
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.Webcontrols
Imports System.Web

Namespace Cyril
    Namespace Controls
        Namespace Webcontrols

            ''' -----------------------------------------------------------------------------
            ''' Project	 : Cyril.Controls
            ''' Class	 : Controls.Webcontrols.ButtonUnique
            ''' 
            ''' -----------------------------------------------------------------------------
            ''' <summary>
            ''' Nouveau bouton 
            ''' </summary>
            ''' <remarks>
            ''' Voir http://www.aspfr.com/code.aspx?ID=21560
            ''' </remarks>
            ''' <history>
            ''' 	[DURAND Cyril]	29/03/2004	Created
            ''' </history>
            ''' -----------------------------------------------------------------------------
            <ToolboxData("<{0}:ButtonUnique runat=server></{0}:ButtonUnique>")> _
            Public Class ButtonUnique
                Inherits System.Web.UI.WebControls.Button


                Private _isOneClick As Boolean = True
                ''' -----------------------------------------------------------------------------
                ''' <summary>
                ''' Pour que le bouton ne soit actif qu'une seule fois
                ''' </summary>
                ''' <value>Default : True</value>
                ''' <remarks>
                ''' </remarks>
                ''' <history>
                ''' 	[DURAND Cyril]	29/03/2004	Created
                ''' </history>
                ''' -----------------------------------------------------------------------------
                <Category("Autres"), _
                Description("Pour que le bouton ne soit actif qu'une seule fois")> _
                Public Property isOneClick() As Boolean
                    Get
                        Return _isOneClick
                    End Get
                    Set(ByVal Value As Boolean)
                        _isOneClick = Value
                    End Set
                End Property

                Private _Alert As String
                ''' -----------------------------------------------------------------------------
                ''' <summary>
                ''' Pour que le bouton ne soit actif qu'une seule fois
                ''' </summary>
                ''' <value>Default : True</value>
                ''' <remarks>
                ''' </remarks>
                ''' <history>
                ''' 	[DURAND Cyril]	29/03/2004	Created
                ''' </history>
                ''' -----------------------------------------------------------------------------
                <Category("Autres"), _
                Description("Message d'alert")> _
                Public Property Alert() As String
                    Get
                        Return _Alert
                    End Get
                    Set(ByVal Value As String)
                        _Alert = Value
                    End Set
                End Property

                Private _OnRollOverText As String
                ''' -----------------------------------------------------------------------------
                ''' <summary>
                ''' Le texte quand on passe la souris sur le bouton
                ''' </summary>
                ''' <value></value>
                ''' <remarks>
                ''' </remarks>
                ''' <history>
                ''' 	[DURAND Cyril]	30/03/2004	Created
                ''' </history>
                ''' -----------------------------------------------------------------------------
                <Category("Apparence"), _
                Description("Le texte quand on passe la souris sur le bouton")> _
                Public Property OnRollOverText() As String
                    Get
                        Return _OnRollOverText
                    End Get
                    Set(ByVal Value As String)
                        _OnRollOverText = Value
                    End Set
                End Property


                Protected Overrides Sub AddAttributesToRender(ByVal writer As System.Web.UI.HtmlTextWriter)
                    MyBase.AddAttributesToRender(writer)

                    Dim isOnClickAttributsAdded As Boolean = False
                    Dim isOnMouseOverAttributsAdded As Boolean = False
                    Dim isOnMouseOutAttributsAdded As Boolean = False

                    Dim CodeJavascript As New Controls.Utility.EcrireEvenementJavascript(writer, Me.UniqueID)

                    If Me.isOneClick = True Then
                        If isOnClickAttributsAdded = False Then
                            writer.AddAttribute("OnClick", "self.setTimeout('OnClick" & Me.UniqueID & "();' ,1);")
                            isOnClickAttributsAdded = True
                        End If

                        CodeJavascript.OnClick("document.getElementById('" & Me.UniqueID & "').disabled=true;")

                    End If

                    If Not Me.Alert = "" Then
                        If isOnClickAttributsAdded = False Then
                            writer.AddAttribute("onclick", "self.setTimeout('OneClick" & Me.UniqueID & "();' ,1);")
                            isOnClickAttributsAdded = True
                        End If
                        CodeJavascript.OnClick("alert('" & Replace(Me.Alert, "'", "\'") & "');")
                    End If

                    CodeJavascript.EcrireJavascript()

                End Sub

            End Class
        End Namespace

    End Namespace
End Namespace

 Conclusion

Il y a un bug, c'est que je n'arrive pas à ecrire une seul fois la function javascript: en effet celle ci est rajouté à chaque appel du bouton, mais ca ne gene en rien le fonctionement.

Je compte rajouter pas mal de truc a ce bouton :

- Une propriété alert qui au click affichera le texte dans une boite de dialogue.
(Fait)

- Un boolean qui a true permetrait de desactiver apres le click meme suite à un postback

- RolloverImageUrl (c2i.fr)

- RolloverText

- Fenetre de validation

Si vous avez d'autres idée dite le moi, si vous modifiez ou ameliorer le code faites en moi part.

Cette DLL a long terme doit contenir tout les controles que je vais créer, il doit y en avoir d'autre à l'interieur mais faite pas attention à eux, car ils sont pas finis.

Pour avoir une version de l'assembly la plus recente veuillez consulter cette adresse : http://jesusonline.free.fr/Control/

n'hesitez pas à poster vos commentaires et à me mettre une note :)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID...
Source .NET (Dotnet) RESPONSE.FILTER : MANIPULATION DU STREAM DE SORTIE ASP.NET
Source avec Zip Source .NET (Dotnet) OPTIMISATION DE LA SERIALISATION JSON POUR LES LIST<T>
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA...

 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) WEBCONTROL DATEPICKER WEBCONTROLLIBRARY par fredzool
Source avec une capture Source .NET (Dotnet) .NET 2.0: CONTRÔLE IMAGE VIEWER / UPLOADER par gldfdp
Source avec Zip Source .NET (Dotnet) CRAWLABLELINKBUTTON : UPDATEPANEL ET RÉFÉRENCEMENT par jesusonline
Source .NET (Dotnet) POSTBACKCONTROL - COMMUNICATION CLIENT/SERVEUR AVEC LES UPDA... par jesusonline
Source avec Zip Source .NET (Dotnet) ASSOCIER DU CODE JAVASCRIPT AUX CONTROLES DERIVÉS par jesusonline

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Bug webcontrol treeview [ par karim ] Bonjour a tous !J'utilise VS.Net version Beta 2.je crée une webform dans laquelle j'ajoute un treeview et un bouton(webcontrols). Je ne rajoute aucun case à cocher : (héritage) [ par patrice ] Bonjour à tous,J'aimerai savoir comment peut t'on faire pour que lorsque l'on clique sur une case à cocher les autres case à cocher situées en dessous Collection de webcontrol en asp.net [ par pascalwick ] voila je suis entrain de developper une dll de traduction qui va traduire une page et tous ses webcontrols.je desire donc faire une boucle pour trouve TABSTRIP : je recherche un exemple ou une aide sur ce webcontrol [ par sehn ] help, je débute en ASP.NET . Je n'arrive pas a le configurer graphiquementSeHN [ASPX]Héritage multiple avec la directive @page [ par Nabel ] Bonjour, J'aimerais savoir s'il est possible de faire un héritage multiple en ASP.NET. C'est à dire est-il possible de faire : &lt;%@ Page language="c User Webcontrol [ par Mia ] Salut tlmVoilà, je voudrais créer un webcontrol que j'utiliserais dans +ieurs pages. QQun connait'il une adresse avec un bon tutorial en français sur héritage multiple [ par BirD ] Salut tout le monde.je deviens fout, ca fait 3 heures que je cherche une méthode pour pouvoir faire de l'héritage multiple en vb.net. Je sais que ca n KeyPress event in a WebControl.TextBox [ par sdiacal ] Je voudrais gèrer l'event d'appuyer sur une touche du clavier dans un WebControl.TextBox en .NET C#. J'ai vu qu'il y a un event appellé keyPress pour Modifier un WebControl appartenant à un DataList. [ par tofyz ] Bonjour &#224; tous,Je vais essayer d'&#233;claicir mon propos!Je souhaite afficher, par l'interm&#233;diaire d'un DataList une liste dont chaque lign héritage html [ par lucie houel ] bonjour &#224; tous et &#224; toutes, J'ai une petite question : est-il possible qu'une classe fille utilise l'html d'une classe m&#232;re, en la modi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,306 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales