salve, stavo facendo delle prove per successivamente creare un controllo personalizzato e ho implementato l'interfaccia IPostBackEventHandler, affinchè il controllo abbia il codice js da gestire sull'evento click di questo controllo.


Adesso io Utilizzo la classe ClientScript.GetPostBackEventReference per assegnargli il codice js.

e in questo caso specifico vorrei che nell'ebnto click mi apparisse il box di javascript(alert("ciao"))

ma non mi fa nulla
in cosa sbaglio?

questo è il codice che sto facendo:


codice:
 protected override void Render(HtmlTextWriter writer)
        {
            // Se non è cliccabile rimuovo gli stili per simulare il link
            if (!this.Clickable)
            {
                this.Style.Remove(HtmlTextWriterStyle.Cursor);
                this.Style.Remove(HtmlTextWriterStyle.TextDecoration);
            }
            else
            {
                // Se è cliccabile metto degli style per simulare il link
                this.Style[HtmlTextWriterStyle.Cursor] = "pointer";
                this.Style[HtmlTextWriterStyle.TextDecoration] = "underline"; ;
            }

            base.Render(writer);
        }

        protected override void RenderContents(HtmlTextWriter writer)
        {
            writer.Write(this.Text);
        }

        protected override void AddAttributesToRender(HtmlTextWriter writer)
        {
            string js = "javascript:alert(\'Ciao da me\');";
            base.AddAttributesToRender(writer);

            if (this.Clickable)
                writer.AddAttribute(HtmlTextWriterAttribute.Src, this.Page.ClientScript.GetPostBackEventReference(this,js));
        }

        #region IPostBackEventHandler Members

        void IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
        {
           
            this.OnClick(new EventArgs());
           
        }
grazie ancora.