Hej. Vad jag förstår skapar du alltså alla kontroller på sidan dynamiskt. Hej!Sidan blir helt vitt
I mitt program kan man skapa följande: ett dokument som kan bestå av ett eller flera kapitel och som i sin tur har 0 eller flera filer. När jag vill spara allt det här och trycker på "Spara"-knappen så ska först dokumentet sparas, sen alla kapitel och till slut alla filerna. Men ibland när knappen är tryckt blir sidan helt vitt. Alla textfält och liknande försvinner. Först trodde jag att det berodde på att jag inte hanterade transactions i koden. Men efter att ha fixat det så blir det så ändå. Det är inte alltid, men ibland. Ibland går det bra att spara, ibland blir det flera versioner av samma dokument, fast egentligen borde dokumentet bara updateras och inte skapas på nytt.
Vet nån vad det kan bero på?
Allt är skrivet i asp.net och C#. Databasen är MS SQL server (om det spelar nån roll).
Mvh,
NazSv: Sidan blir helt vitt
Alla asp.net sidor ärver från klassen Page. Eftersom websidor är tillståndslösa så är Page-objektets livslängd endast tiden från när sidan begärs tills den skickas till webbläsaren.
Vad jag kanförstå så har du gjort en kontroll om det inte är en postback och isf ska du skapa innehållet.
Det fungerar ju fint första sidladdningen men när du gör en postback blir ju sidan som sagt vit.
Det du måste göra är att för varje sidladdning återskapa de kontroller som du tidigare har skapat. Detta gör du lämpligast i ett Page_Init eventet. Därför måste du spara information om vilka kontroller du har skapat i t.ex. en sessions variabel eller viewstat:en.
Det du måste se till är att de kontroller du återskapar har samma id som de första kontrollerna du skapade, då kommer värden som användaren eventuell har förändrat in i kontrollerna du återskapar automagiskt.
Lite bökigt men det fungar fint =)
//KalleSv: Sidan blir helt vitt
Ja, alla kontroller (kapitelkontrollerna) skapas dynamiskt.
Från sidan kan man även förhandsgranska det dokument som man håller på att skapa. När man sparar dokumentet utan att förhandsgranska det först, så funkar det jättebra. Det blir postback och kontrollerna visas.
Men jag har upptäckt att problemet uppstår om man förhandsgranskar sidan först. När man klickar på knappen "förhandsgranska" så kommer man till en ny sida där man ser dokumentet och dess kapitel och bifogade filer. Jag skickar med dokumentinformationen fram och tillbaka (inte kontrollerna iofs, men dokumentdata). Sen kan man komma tillbaka till editeringssidan och då lägger jag tillbaka informationen i kontrollerna (funkar också bra). Men då man försöker spara dokumentet, då blir det vitt.
Det blir ingen postback i förhandsgranskning-fallet, men det blir det i fallet utan förhandsgranskning. Vad beror det på?
När jag har sparat så gör jag följande:
<code>
string url = this.Page.Request.ApplicationPath + "/Document/EditDocument.aspx";
Response.Redirect(url);
</code>
Mvh,
Naz