io pongo il CurrentMode di un FormView modalità di inserimento utilizzando il metodo changemode nell'evento Page_Load in questo modo:I controlli non mantenendo i valori dopo il postback quando FormView impostato alla modalità di inserimento
if(!Page.IsPostBack)
{
MyFormView.ChangeMode(FormViewMode.Insert);
}
All'interno modello inserto di mio FormView I avere un controllo DropDownList con la proprietà AutoPostBack impostata su true. Ho anche diversi altri controlli DropDownList e TextBox all'interno del modello di inserimento.
Ogni volta che cambio la selezione di DropDownList e si verifica un postback, sto perdendo tutti i valori inseriti nei controlli. La cosa strana è che se utilizzo ChangeMode per impostare FormView per inserire la modalità in qualsiasi momento dopo il caricamento iniziale della pagina, non ho il problema. Ho passato il codice con il debugger e sembra che tutto stia succedendo correttamente, ma a volte dopo che il mio gestore di eventi per DropDownList ha eseguito l'esecuzione, sembra che tutto venga ripristinato.
Cosa sta succedendo qui?
Aggiornamento: Ho notato che il mio FormView era all'interno di un tag div con runat = "server" e enableviewstate = "false". Una volta abilitato viewstate per il contenitore div ho iniziato a vedere un comportamento leggermente diverso. Il FormView continua a non conservare i valori dopo il primo postback, ma ora i postback successivi funzionano correttamente e i valori vengono mantenuti.
Qualsiasi idea sarebbe molto apprezzata.
ViewState è abilitato per il controllo FormView. – joshb