ancora javascrip

di Marco Leoncini, in asp.net,

riprendo il discorso frettolosamente aggiunto la scorsa volta sul blog:, https://blogs.aspitalia.com/nostromo/post654.aspx

inserire javascript in un datgrid (o in qualsiasi altro controllo) è più semplice di quello che sembra a prima vista,prendiamo il seguente frammento di codice:

JavaScript:News.NewsGallery_editGallery.disabled = true

è un frammento semplicissimo , disabilita l'oggetto NewsGallery_editGallery, nel suo caso un tag button inserito in un datgrid,da dove partire? se non servono i dati "provenienti" dal datagrid al momento della creazione del codice javascript, ci potremmo servire dell'evento ItemCreated

iteriamo la collezzione dei controlli fino a trovare il form , questa fase va fatta una sola volta e può essere inserita al difuori del ItemCreated

string formName = null;
foreach(System.Web.UI.Control i in this.Page.Controls )
{
if (i.GetType().ToString() == "System.Web.UI.HtmlControls.HtmlForm")
{
formName = ((HtmlForm)i).Name.ToString();
}
}

nell ItemCreated recuperiamo un riferimento al bottone da disabilitare
ctl = e.Item.Cells[0].Controls[1]

infine inizializziamo uno StringBuilder

StringBuilder sb = new StringBuilder("JavaScript:");
sb.Append(formName);
sb.Append(".");
sb.Append(ctl .ClientID + ".disabled = true");
removeGallery.Attributes.Add("onclick",sb.ToString());

removeGallery è il bottone alla cui pressione viene eseguito il frammento javascrip, per trovare il bottone si uso il solito metodo e.Item.Cells[0].Controls[1] o findControl

spero di non aver dimenticato nulla :) tra cut/paste ri rischia sempre di dimenticare qualcosa

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese