sembra un titolo di un film di Sergio Leone :)
del datagrid ormai uso quasi esclusivamenete TemplateColumn, vuoi perche si può "infilare" al sui interno praticamente di tutto, vuoi perche le altre colonne spesso non fanno esattamente quello che voglio.
oggi avevo la necessità che premendo un bottone (senno potevo usare HyperLinkColumn ) venissero passati ad un pagina diversi parametri in querysting, nulla di che ,è una cosa semplicissima si preme il pulsante si esegue il codice si monta il tutto e si fa un bel Response.Redirect, ma volevo non riscatenare un PostBack visto che i dati li avevo bella griglia fin da subito.
prima cosa da fare inserire nel mio DataGrid un bel tag button "impreziosito" con l'attributo Runat="server" e un bel id:
al primo caricamento della pagina ,durante l'evento ItemDataBound recuperiamo un riferimento al bottone:
private void subjectGrid_ItemDataBound (object sender, DataGridItemEventArgs e)
switch (e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
InserAttribute(((HtmlButton)e.Item.FindControl("menage2")), e);
break;
}
}
e lo passiamo insieme a DataGridItemEventArgs a un metodo che inserisce del codice JavaScript nel evento clientside onClick
private void InserAttribute(HtmlButton button, DataGridItemEventArgs e)
{
StringBuilder myApplicationPath = new StringBuilder(Request.ApplicationPath);
int _SbLength = myApplicationPath.Length - 1;
if(myApplicationPath[myApplicationPath.Length -1 ].ToString() == "/") myApplicationPath.Replace("/","",_SbLength,1);
StringBuilder sb = new StringBuilder("JavaScript:self.location.replace('");
sb.Append(myApplicationPath.ToString() + "/moduli/News/Admin/Articoli.aspx");
sb.Append("?SubjectID=");
sb.Append(((DataRowView)e.Item.DataItem).Row[0].ToString());
sb.Append("&GroupID=");
sb.Append(((DataRowView)e.Item.DataItem).Row[5].ToString());
sb.Append("')");
button.Attributes.Add("onclick",sb.ToString());
}
in questo modo ogni mio bottone manderà alla pagina giusta senza esegurie nessun PostBack ne Response:Redirect
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
- Modificare il controllo TreeView, il 2 dicembre 2008 alle 19:27
- Perfezioniamo il ProfileDataSorce, il 13 ottobre 2008 alle 11:14
- Un DataSource per il Profile, il 10 ottobre 2008 alle 15:06
- TrueSpace 7 gratuito, il 24 luglio 2008 alle 10:59
- adesso dico la mia sull'Iphone, il 22 luglio 2008 alle 10:33
- Come tutto ebbe inizio, il 21 luglio 2008 alle 09:22