Webcontrol datepicker webcontrollibrary

Soyez le premier à donner votre avis sur cette source.

Vue 13 110 fois - Téléchargée 657 fois

Description

j ai cree un webcontrol qui derive de textbox qui contient un datepicker en javascript
pour obtenir le calendrier doublecliquez sur la textbox

ce webcontrol peut se trouver dans une dll

les .gif, .js et .css sont dans les WebResource

Source / Exemple :


[assembly: System.Web.UI.WebResource("WebControlLibrary1.cal.popcalendar.js", "text/js", PerformSubstitution = true)]
[assembly: System.Web.UI.WebResource("WebControlLibrary1.cal.popcalendar.css", "text/css")]
[assembly: System.Web.UI.WebResource("WebControlLibrary1.cal.calendar.gif", "image/gif")]

   protected override void OnPreRender(EventArgs e)
        {
            string scriptName = "TextBoxDatePicker";
            if (!Page.ClientScript.IsClientScriptBlockRegistered(scriptName))
            {
                 string script = //"<link href='" + ResolveUrl("cal/popcalendar.css") + "' type=\"text/css\" rel=\"stylesheet\" />" +
                        "<script language=\"javascript\" src='" + ResolveUrl("cal/popcalendar.js") + "' type=\"text/javascript\"></script>";

                 string scriptStr = "javascript:return popUpCalendar(this, '" + ResolveUrl("cal") + "/', document.getElementById('" + getClientID() + @"'), '" + DateFormat + "')";
                 
                 Attributes.Add("ondblclick", scriptStr);    
                this.Page.ClientScript.RegisterClientScriptInclude(
               this.GetType(), "Test",
               Page.ClientScript.GetWebResourceUrl(this.GetType(),
               "WebControlLibrary1.cal.popcalendar.js")); 
                // create the style sheet control
                // and put it in the document header
                string csslink = "<link href='" +
                   Page.ClientScript.GetWebResourceUrl(this.GetType(),
                    "WebControlLibrary1.cal.popcalendar.css")
                   + "' rel='stylesheet' type='text/css' />";
                LiteralControl include = new LiteralControl(csslink);
                this.Page.Header.Controls.Add(include);     
            }

            base.OnPreRender(e);
        }

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

lakichemole
Messages postés
253
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
18 mai 2009
-
Pas mal :) par contre tu pourrais faire le ménage dans la page d'exemple et renommer tes classes "webcontrol1" c'est pas top:).
Sinon le top serait d'utiliser des validator directement dans ton controle :)
Voilà bonne continuation!

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.