Saturday, November 10, 2007

Toolbar e Attributes

. Saturday, November 10, 2007

Tutti i controlli che ereditano da System.Web.UI.WebControls espongono una proprietà Attributes, alla quale è possibile aggiungere una serie di attributi(nome attributo = valore) che solo in fase di rendering vengono inseriti tra il tag di apertura e quello di chiusura HTML del controllo stesso.
Se per esempio volessimo, avere una dialog box di conferma su un Button si può procedere nel modo classico:

   1: btn.Attributes.Add( "onclick", "confirm('Sei sicuro di voler cancellare?');");

Nel caso di un ToolbarButton è necessario seguire una strada diversa:


   1: string script = "<script language=\"javascript\">function buttonClickHandler(){" +
   2:                 "if(event.flatIndex == 0){" +
   3:                 "if(window.confirm(\"Sei sicuro di voler cancellare?\")){" + 
   4:                  GetPostBackClientEvent( Toolbar1, "0") + "}}}</script>";
   5: Page.RegisterClientScriptBlock( "confirmDelete", script);
   6: Toolbar1.Attributes.Add("onbuttonclick", "javascript:buttonClickHandler()");

Attraverso il metodo RegisterClientScriptBlock si inietta nella pagina Asp.Net il blocco di script.
La parte più interessante della funzione javascript buttonClickHandler è quando si verifica la property flatIndex che ritorna l'indice del button che ha scatenato l'evento.
Nel caso specifico verifico che sia 0 cioè il primo button e genero lo script __doPostBack.
Per far ciò uso il metodo GetPostBackClientEvent di cui ho già parlato in un precedente post.

0 commenti:

Post a Comment