A legnagyobb agyvérzés az ASP.NET-ben, hogy a szerveroldali események egy részét sikerült CSONTRA UGYANÚGY elnevezni, mint a rég bevált, használt és sok esetben megkerülhetetlen javascript eseményeket.
Ennek köszönhető, hogy ha szerveroldalivá teszel egy taget runat="server"-rel, akkor utána jó eséllyel nem fordul a szerveroldali kódod. Érted! Mert az onclick runat="server" nélkül javascriptes, azzal pedig szerveroldali metódust jelöl. Erre még bevezették az OnClientClick-et, aminek tartalma, gondolom a Render()-ben, bekerül az inkrimált tag onclick attribútumába.
De mi a jó életet lehet csinálni az onload-dal? TI MIT SZOKTATOK?
Mindenestre meggoogléztam, persze mindenhol javasolják, hogy szerveroldalon valami megfelelő eseményben adjam hozzá a kliensoldali onloadot a szerver-tag attributes gyűjteményéhez. De az meg már milyen béna! Meg deklaratív és jól elkülönül, ugye?
Googlézés közben találtam ezt a Visual Studio feedback oldalt:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=104654
Itt ezt kérdezik a kedves panaszkodótól:
IS there a reason that you want to have the client-side and server-side handling for this element?
És akkor mi van, ha igen?