Salve a tuti,
poniamo il caso si abbia un FormView con questa struttura:


<asp:FormView ID="FormView1" runat="server" DataKeyNames="ID" DataSourceID="AccessDataSource1">

<EditItemTemplate>
<asp:TextBox ID="IdTextBox" runat="server" Text='<%# Bind("id_band") %>'>
</EditItemTemplate>

<InsertItemTemplate>
<asp:TextBox ID="IdTextBox" runat="server" Text='<%# Bind("id_band") %>'>
<InsertItemTemplate>

</asp:FormView>

Provando ad usare un FindControl come di seguito,

Dim IdTextBox As TextBox = CType(FormView1.FindControl("IdTextBox"), TextBox)
IdTextBox.Text = "100"

ricevo un errore in cui mi si chiede di creare un istanza dell'oggetto perchè non esiste.

Mi spiegate come faccio ad accedere agli oggetti che si trovano al di sotto degli ItemTemplate?

Grazie
34 messaggi dal 13 gennaio 2006
Se l'oggetto non è instanziato quando chiami il findcontrol o non hai fatto il Bind del formview o ti trovi nel Mode sbagliato. Dal codice che hai postato IdTextBox esiste solo nel Mode=Edit o Mode=Insert.

Ciao

Nick
utilizza FindControl nell'eventHandlre di ItemCreated , come diceva nick assicurandoti di cercarlo o nell'ItemTemplate o nel InsertItemTemplate

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
Ok, è giusto, mi da l'errore perchè il Binding dei dati risulta vuoto e quindi non riesce ad effettuare il Rendering dell'oggetto.


Potrei risolvere in questo modo:


if AccessDataSource1 restituisce record Then

formview1.defaultmode = EDIT

else

formview1.defaultmode = Insert
end if


Non trovo però un modo per sapere quanti record restituisce l'AccessDataSource. Avete qualche idea?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.