Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Lettura label da ItemTemplate
sabato 11 settembre 2010 - 11.52
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
sab 11 set 2010 - 11:52
ciao a tutti,
ho una pagina web contenente questo codice:
<asp:TemplateField HeaderText="prezzo">
<ItemTemplate>
<asp:Label ID="prz" runat="server" Text=<%# distrilan.SiteUser.IsLogged() ? calcolaPrezzo(distrilan.SiteUser.getUser().Username, Eval("codart").ToString()) : calcolaPrezzo("null", Eval("codart").ToString())%>></asp:Label>
</ItemTemplate>
</asp:TemplateField>
nella quale se un utente è loggato o meno genero il prezzo di un articolo, il problema mi si pone quando pero a livello di code behind aggiungo l'articolo al carrello: non riesco a leggere il campo di testo all'interno della label, qualcuno sa darmi qualche dritta? .
Grazie a tutti per l'attenzione,
Simone
p.s. il codice funzionante tramite boundfield è il seguente
<asp:BoundField DataField="prezzo" HeaderText="prezzo" SortExpression="prezzo" />
che pero legge staticamente il prezzo senza darmi la possibilita di effettuare dei calcoli (chiamata a funzione) in base all'utente e al codice articolo.
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
sab 11 set 2010 - 13:08
Ciao
Prova con FindControl
http://msdn.microsoft.com/it-it/library/486wc64h.aspx
Tenendo presente che se sei all'interno di un controllo devi cercarlo lì:
ListView1.FindControl("prz")
Ciao
alexmed
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
sab 11 set 2010 - 13:21
ciao Ho una datagridview e stavo proprio provando il codice seguente
Label lblPrezzo = (Label)GridViewVisualizzaArticoli.SelectedRow.FindControl("prz");
pero mi riporta il seguente errore:
Object reference not set to an instance of an object.
andrestu
Profilo
| Expert
772
messaggi | Data Invio:
sab 11 set 2010 - 14:06
devi cercarlo all'interno dei relativi eventi, se per esempio hai un pulsante chiamato "aggiungi" all'interno dell'itemTemplate allora puoi valorizzare la proprietà CommanName (CommandName="Add") cosi poi crei un metodo da associare all'evento OnRowCommand del gridview, all'interno del metodo potrai trovare tutti i controlli disponibili nell'itemTemplate. dovrai richiamare l'itemtemplate sull'index selezionato... comunque sull'MSDN trovi tutti gli esempi
alexmed
Profilo
| Guru
1.186
messaggi | Data Invio:
sab 11 set 2010 - 17:01
Ciao
Trattandosi di una GridView, hai già provato con questo sistema?
http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.gridview.selectedrow
(v=VS.80).aspx
Ciao
alexmed
muccio04
Profilo
| Newbie
33
messaggi | Data Invio:
sab 11 set 2010 - 17:52
grazie a tutti, ho risolto: per tirare fuori una label da un itemtemplate si fa cosi:
<asp:TemplateField HeaderText="prezzo">
<ItemTemplate>
<asp:Label ID="prz" runat="server" Text=<%# distrilan.SiteUser.IsLogged() ? calcolaPrezzo(distrilan.SiteUser.getUser().Username, Eval("codart").ToString()) : calcolaPrezzo("null", Eval("codart").ToString())%>></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Label lblPrezzo = (Label)row.FindControl("prz");
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !