51 messaggi dal 08 febbraio 2002
Buongiorno a tutti,
sto portando un' applicazione Asp .net dalla versione 1.1 (VS 2003) a 2.0 (VS 2005)
e mi sono accorto che molti controlli, in 2005 non mantengono più lo stato al postback.
Per esempio ho una tabella con una casella di testo che viene valorizzata da un calendario javascript, ma la data è visibile per una frazione di secondo, poi scatta il postback e scompare (ovviamente non succedeva nella versione 1.1). Inoltre a questa textbox è associato un event handler creato dinamicamente via codice, ma che stranamente non viene richiamato ...
Alla textbox viene modificato, sempre via code behind, l' EnableViewState a true.
Qualcuno ha idea di quello che è successo ?

ps: la textbox è contenuta dentro uno user control all'interno di una pagina aspx.
la TextBox è disabilitata?, per il resto posta parte del codice incriminato e in che parte del ciclo di vita della pagina lo esegui.

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
Se non ricordo male tempo fa ho avuto lo stesso problema da un cliente e mi sembra che era causato dalla proprietà readonly della textbox che dalla versione 1.1 alla 2.0 cambiava qualcosa ma non ricordo benissimo. Puoi verificare questa proprietà???

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
imperugo ha scritto:
Se non ricordo male tempo fa ho avuto lo stesso problema da un cliente e mi sembra che era causato dalla proprietà readonly della textbox che dalla versione 1.1 alla 2.0 cambiava qualcosa ma non ricordo benissimo. Puoi verificare questa proprietà???

Ciauz


bingo :D non mi veniva la parola ReadOnly mi è venuta disabilitata , anche io medesimo problema,ho risolto levando readonly :D

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
51 messaggi dal 08 febbraio 2002
Questo è il pezzo di codice che aggiunge la textbox e il pulsante per il calendario javascript. Esso viene eseguito nel Page_load. In effetti viene impostato il valore readonly a true.
Commentando tale riga il problema non si verifica più, anche se sinceramente non capisco la logica di questo comportamento ...



#region Aggiunta label di selezione data inizio
row.Cells.Add(new TableCell());
TextBox newtxt = new TextBox();
newtxt.Text = "";
newtxt.ID = row.ID.ToString() + CTR_TXT_DATEFROM;
newtxt.MaxLength=6;
newtxt.ReadOnly = true;
newtxt.BackColor = Color.WhiteSmoke;
newtxt.BorderColor = Color.Black;
newtxt.BorderStyle = BorderStyle.Solid;
newtxt.BorderWidth = 1;
newtxt.Width = Unit.Pixel(67);
newtxt.Text = pDateFrom;
newtxt.EnableViewState = true;
newtxt.TextChanged += new EventHandler(newtxt_TextChanged);
newtxt.AutoPostBack = true;
newtxt.CausesValidation = true;
row.Cells[2].Controls.Add(newtxt);
row.Cells[2].EnableViewState = true;
#endregion

#region Aggiunta bottone di selezione data inizio
row.Cells.Add(new TableCell());
Button newbtn = new Button();
newbtn.ID = row.ID.ToString() + CTR_BTN_DATEFROM;
newbtn.Text = "...";
newbtn.BorderStyle = BorderStyle.Solid;
newbtn.BorderWidth = 1;
newbtn.BorderColor = Color.Black;
newbtn.BackColor = Color.Silver;
newbtn.EnableViewState = true;
newbtn.Style["CURSOR"] = "hand";
Page.RegisterStartupScript(newbtn.ID,
@"<script type='text/javascript'>
Calendar.setup(
{
inputField : '" + this.ClientID + "_" + newtxt.ID + @"',
inputField2 : '" + this.ClientID + "_" + newtxt.ID + @"',
ifFormat : '%d/%m/%Y',
button : '" + this.ClientID + "_" + newbtn.ID + @"' }
)
</script>
");

row.Cells[3].Controls.Add(newbtn);
row.Cells[3].EnableViewState = true;
#endregion
Esatto, prova a togliere newtxt.ReadOnly = true; dovrebbe andare. Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
Esatto, prova a togliere newtxt.ReadOnly = true; dovrebbe andare. Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
bingo  non mi veniva la parola ReadOnly mi è venuta disabilitata ,
la mia è stata fortuna

ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it

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.