Jag har ett problem med en frame som blir helt tom om jag <b>har focus i en specifik textbox</b> (asp:textbox) med AutoPostBack=true och sedan klickar med musen på en DropDownList (asp:DropDownList) med AutoPostBack=true. Väljer jag View Source på den tomma framen så ser jag endast frameset-html:en så sidan har ju definitivt tömts. Båda kontrollerna har f ö EnableViewState=true. Jag tror att det är en bugg som uppstår när Autopostback=true. Jag får liknande effekt när jag kör sådana sidor på min webbserver. Kör jag samma sidor lokalt uppstår inte detta problem. Söker man på Microsofts hemsida tillstår de att det är en bugg i asp.net 1.0 men jag tycker det verkar vara likadant i vissa versioner av version 1.1 också. Tack för svaret, även om det inte var så positivt :-) Har äntligen hittat lösningen i Microsoft Knowledgebase. Blank sida vid klick i DropDownList.
Om jag i stället väljer att klicka på en dropdown utan AutoPostBack så fungerar allt finfint. Det går också utmärkt att klicka på ett annat textfält utan autopostback.
Felet inträffar även om jag kommenterar bort all kod i TextChanged-eventet på server-sidan, dvs om eventhandlern är helt tom, så det är inget fel i själva koden i event-handlern. Tar jag dock bort AutoPostBack på textfältet (så att TextChanged-eventet på serversidan inte körs) så laddas sidan om korrekt, men då får jag ju inte med formateringen av datumet som användaren skrivit in i textboxen.
En annan intressant sak är att om jag sätter en breakpoint i TextChanged-eventet så inträffar inte felet när jag sedan trycker F5. Det verkar alltså som att felet på något sätt är tidsberoende, eller beror på i vilken ordningen olika events kör?
Jag har lite javascript på sidan i body_Onload och body_OnBeforeUnload men jag har testat att kommentera bort koden i dessa funktioner och felet inträffar ändå. Jag har noterat en sak angående eventordningen dock (genom att använda alert-boxar). Beroende på om jag har en breakpoint i fldRegDate_TextChanged (fldRegDate är alltså min textbox) så inträffar body_onbeforeunload en resp två gånger.
Med breakpoint i fldRegDate_TextChanged:
----------------------------------------
body_onbeforeunload
(fldRegDate_TextChanged) <--stannar på breakpoint här (serverside)
body_onload
Utan breakpoint i fldRegDate_TextChanged:
----------------------------------------
body_onbeforeunload <--- anropas två gånger
body_onbeforeunload
body_onload
Slutligen har jag testat att sätta upp ett testexempel med minimalt med kod, men där lyckas jag inte framkalla problemet.
Någon som känner igen problemet eller har några bra ideér (innan jag skolar om mig till florist för att slippa denna typ av problem :-) ?Sv: Blank sida vid klick i DropDownList.
mvh ClaesSv:Blank sida vid klick i DropDownList.
Har du hittat någon workaround? Sv: Blank sida vid klick i DropDownList.
http://support.microsoft.com/default.aspx?scid=kb;en-us;840545
Det är en bugg, till vilken det finns några workarounds, den som jag testade och som fungerade i mitt fall var att lägga till följande rad i Body_OnBeforeUnload.
<code>
function body_onbeforeunload()
{
document.body.innerHTML = "";
}
</code>
Kan tillägga att jag även fick dubbla Page_Load och fldRegDate_TextChanged-event på serversidan, men detta hindras av kodraden ovan.