webForumDet fria alternativet

hur anropa page_load?

.NET

5 svar · 542 visningar · startad av manzan

Medlem sedan apr. 20089 inlägg
Frågan#1

Hej!
Snälla hjälp mig någon ... Jag har ett busenkelt problem säkert, men jag klarar det inte.

Jag har ett enkelt webbformulär gjort i asp.net 2.0. Det består av ett antal textboxar varav flera av dem är obligatoriska att fylla i innan man kan skicka in uppgifterna. Det är inga problem. Jag har flera CustomValidators som sköter det. I Button1_Click gör jag en koll :

If IsValid Then
SqlDataSource.Insert()
End if

Problemet är att jag när formuläret är validerat och godkänt vill få upp en meddelanderuta där det står "Uppgifterna skickas" och där man kan välja att avbryta eller klicka ok. Jag får också upp rutan med denna kod i min page_load:

Button1.Attributes.Add("onclick", "return confirm(""Uppgifterna skickas"");")

Felet är att jag får upp rutan varje gång jag klickar på skicka-knappen. Det vill jag inte ha. Jag vill att det ska göras en koll om sidan IsValid först och om den är det, så ska rutan komma upp.

Jag försöker bl.a. anropa page_load från button1_click innan datan skickas till databasen, men då vet jag inte hur jag ska skriva anropet. page_load() går inte. Hur skriver man anropet?? Någon som vet? Tänker jag fel, finns det någon annan lösning på det här?

I Page_Load har jag testat med if page.isValid = true så visa rutan, men det går inte heller. Då får jag följande felmeddelande:

Det går inte att anropa Page.IsValid innan verifiering har skett. Det ska efterfrågas i händelsehanteraren för en kontroll med CausesValidation=True och som initierade återanslåendet, eller efter ett anrop till Page.Validate.

Hoppad någon har en bra idé här!

Medlem sedan nov. 2005314 inlägg
#2

EDIT*
förra gången jag kikade in fanns det ingen fråga, därav mitt inlägg..

hoppas du får bra svar.

Medlem sedan okt. 20041 556 inlägg
#3

"this.load" eller "handles me.load" kanske.

Medlem sedan apr. 20089 inlägg
#4

funkar inte heller ...

Medlem sedan nov. 20017 144 inlägg
#5

Du måste anropa "Page.Validate(["ev. din_grupp"])" innan du kör "isValid".
I page_load så kollar du om sidan ispostback om så är fallet kör du validate.

Sen kan du kolla med isValid "vart du vill" på sidan.

http://msdn2.microsoft.com/en-us/library/0ke7bxeh.aspx

Medlem sedan apr. 20089 inlägg
#6

Det funkar ändå inte. Det blir samma sak. Valideringen är inget bekymmer så. Det är ju så att när man klickat på knappen och valideringen är ok, så vill jag att confirm-rutan ska poppa upp och bara då, men eftersom den ligger i Page_Load, så måste jag ju dit igen på nåt sätt och det går inte. Kan man få upp en confirm-ruta från Subben Button1_Click istället efter att valideringen är klar? Jag har testat det med, men inte fått till det heller.
Jag får kanske strunta i det här, men det är så irriterande att det inte går att få till. När jag gjorde formulär i klassisk asp hade jag så att man fick upp en confirm-ruta när formuläret var validerat och godkänt och det funkade ju bra, men det verkar omöjligt i asp.net.

284 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
155 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)