Jag har lite problem med en sida jag jag håller på och bygger. Det är en fotoalbumssida och jag använder kontrollen Menu för att bygga en dynamisk meny som visar album från databasen. Jag hämtar först informationen från databasen som genererar en xml fil och jag använder en xslt fil för att transformera om xml-filen så att menyn genereras korrekt. Dett fungerar bra. När du lägger till kontroller programmatiskt måste du lägga till dem igen vid varje postback. Tack så mycket för informationen. Det löste mina problem!Menu-problem (dynamiska ImageButtons)
Det jag har problem med är när jag trycker på ett album för visa thumbnails. Jag har en asp.net table som jag dynamisk bygger upp med rows och cells. I varje cell placerar jag en ImageButton och lagger till: imgButton.Click += new ImageClickEventHandler(this.imgButton_Click);
Och i min protected void imgButton_Click(object sender, ImageClickEventArgs e) har jag kod som jag vill ska exekvera. MEN, det gor den inte. Clickeventet avfyras aldrig och jag vet inte hur jag ska lösa detta. Jag presenterar gärna mer kod ifall det behövs.
Menyn byggs upp när sidan inte är postbackad. Också, när jag trycker på en imagebutton så laddas sidan om och alla thumbnails försvinner (alltså hela min table). Däremot stannar en asp:label kvar som finns på samma sida och samma panel..Sv: Menu-problem (dynamiska ImageButtons)
Ditt click-event körs inte eftersom att sidan först postbackas, kontrollerna läggs inte till igen och därmed körs inte din clickevent (kontrollen finns ju inte). Page_Load körs innan alla eventhandlers vid postback.
Läs mer om detta och ViewState här: http://infinitiesloop.blogspot.com/2006/03/truly-understanding-viewstate.html
Om du inte vill/orkar läsa hela artikeln så fick jag en förklaring av ett problem liknande ditt i kommentarerna till artikeln.
Du kan också läsa hur jag löste problemet här: [Dynamiskt laddade UserControls och PostBacks]Sv:Menu-problem (dynamiska ImageButtons)