webForumDet fria alternativet

page_load körs 2 ggr

.NET

15 svar · 619 visningar · startad av lucgo446

Medlem sedan aug. 2002221 inlägg
Frågan#1

jag har nåt helt otroligt fel på en sida

page_load körs 2 ggr trots att jag bara anropar sidan en gång, och jag har inga andra anrop till page_load

har ni vart med om nåt liknande?

jag har satt en logg i page_load

där ser jag att den anroppas 2 gg samma sekund

men bara ibland...

liksom andra gången den körs så är värderna i db inte samma så då blir det ju fel!!!

tyvärr är den ingen publik sida så jag kan inte ge länk, men det går ändå inte att se, det blir bara fel.

Vad kan det vara? denna sida har funkat förut...

Medlem sedan jan. 20012 204 inlägg
#2

Någon postback?

Medlem sedan maj 20012 812 inlägg
#3

Kolla att logga någoy så här!

private void Page_Load()
{
    System.Diagnositics.Debug.WriteLine("Page_Load");
    if(!Page.IsPostback)
       System.Diagnositics.Debug.WriteLine("Page_Load (Postback)");
}

- M

Medlem sedan aug. 2002221 inlägg
#4

nej ingen postback...

Hur läser man av System.Diagnositics?

Medlem sedan sep. 20011 914 inlägg
#5

AutoEventWireUp="true" i Page directivet kan ibland ställa till det. Testa och sätt till false.

Medlem sedan aug. 2002221 inlägg
#6

Då funkar det inte alls ibland...

Medlem sedan aug. 20003 575 inlägg
#7

Så om du kör en global variabel för klassen och plussar på den i PageLoad så blir det 2?

Medlem sedan aug. 2002221 inlägg
#8

Hur menar du då Nickelmannen!? hänger inte med...

Tack för tipsen, alla!

Medlem sedan maj 2000194 inlägg
#9

Jag har haft samma problem tidigare med att Page_Load triggas 2 gånger. Lösningen på mitt problem den gången var att ta bort attributen i BODY-taggen (t ex background="#EEEEFF"). Det står en hel del att läsa om detta problem t ex i denna tråd:

http://www.codecomments.com/archive289-2004-8-260270.html

Medlem sedan maj 20012 812 inlägg
#10

lucgo446 skrev:

Hur läser man av System.Diagnositics?

I VS så har du ett fönster som heter OutPut, i det fönster så skrivs allt från System.Diagnostics.Debug. Om du inte har VS så logga till en vanlig fil istället.

- M

Medlem sedan aug. 2002221 inlägg
#11

Glad najs, det där har jag letat efter...

Nu till problemet, SB, mycket intressant länk... men jag har inge background="#EEEEFF").

Här finns koden för min sidan, kör utan codebehinde, har testat med och ger samma fel ändå.... http://gosso.se/mypage.txt OBS kolla källan

Tänkte att jag skulle vara smart (fullösning) jag flaggar första gången att den vart inne i page_load med public bool flagga = true; och andra gången skulle den inte gå in i min kod, men den verkar trigga 2 instanser av pageobjectet...

Jag kan tillägga att detta är en sida som postar vidare data till en säker https betalserver.

Medlem sedan maj 2000194 inlägg
#12

Prova att ta bort all HTML tillfälligt (utan det s k skelettet) och se om Page_Load fortfarande körs 2 gånger.

Medlem sedan aug. 2002221 inlägg
#13

ok, ska testa uteslutningsmetoden snart...

Medlem sedan maj 2000194 inlägg
#14

Steven Cheng från Microsoft Online Support reder ut problematiken med dubbla körningar av Page_Load.

Läs och begrunda.

http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.aspnet/2004-08/4155.html

Medlem sedan aug. 2002221 inlägg
#15

jag tror jag löst det, testat min betallösning nu 50 ggr ... jag vet inte riktigt vad det är som gör att det funkar. Det jag har gjort är följande:

1. bytt namn från redirect.aspx till betalning.aspx
2. tagi bort all html utom det jag verkligen behövde, dvs en formtag och lite javascript.

OBS, ska tilläggas att jag inte posta till den här sidan, endast en GET.

Återkommer om det inte funkade, loggar....

Medlem sedan aug. 2002221 inlägg
#16

Mina loggar visar att felet kvarstår... dessutom på flera sidor än den som jag jobbat på...

jag hoppar snart...

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)