Buongiorno a tutti,
sono due giorni che mi scervello e non riesco a dare una spiegazione logica a questo problema:
Ho un ciclo for che crea una listview e carica il LayoutTemplate.
All'usercontrol del Layout Template viene passato il valore di "j", che rappresenta il numero di cicli.
Nel codebehind dell'usercontrol (rlt.ascx.cs):codice:for (j = 1; j <= 3; j++) { ...... lv = new ListView(); lv.ID = "LVprogram" + j; lv.DataSourceID = ds.ID; lv.ItemPlaceholderID = "rlt$itemPlaceholder"; ...poi associo gli ItemDataBound, LayoutCreated, ItemTemplate.... // memorizzo il valore di "j" in una variabile globale di App_Code // per passarlo all'user control: marmar.j = j; // carico l'usercontrol lv.LayoutTemplate = LoadTemplate("~/rassegne/rlt.ascx"); PHprograms.Controls.Add(lv); lv.DataBind();
Problema: la variabile marmar.j ha sempre valore "3", il valore finale del ciclo for.codice:protected void Page_Load(object sender, EventArgs e) { if (marmar.j == 1) sx = "_a"; else if (marmar.j == 2) sx = "_b"; .....
Se prima di caricare il template aveva valore "1", nell'usercontrol ha valore "3".
Non capisco la logica.
Qualcuno mi potrebbe aiutare?
Grazie mille in anticipo,
Marco

Rispondi quotando