i'd understand how asp.net framework knows when button has been clicked , therefore once receives request fires click event on server.
i need understand how works trigger button's server click event javascript.
i able perform submit of page javascript:
document.forms[0].submit(); but how same asp.net thinks button click has happened, on server click event fires once request received.
thanks
update 1
thanks replies. doing few tests if add 1 asp.net button , looking @ source code, cant seem find generated javascript "__dopostback" function.
this test i've tried.
i have 1 normal html button (button1) , asp.net button.(button2)
from html button's click event (button1), i've added client call javascript __dopostback method passing in asp.net button2 id.
so trying fire server side button2 click event calling html button (button1.)
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <input id="button1" type="button" value="raise button2 server side click event" onclick="javascript:__dopostback('button2', '')" /> <asp:button id="button2" runat="server" text="asp.net_button2" onclick="button2click" /> </div> </form> </body> </html> and generated html:
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><title> </title> </head> <body> <form name="form1" method="post" action="default6.aspx" id="form1"> <div> <input type="hidden" name="__viewstate" id="__viewstate" value="/wepdwukmja0otm4mtawngrke29wukb+flhqarxd1eht98cww1y=" /> </div> <div> <input type="hidden" name="__eventvalidation" id="__eventvalidation" value="/wewagkls+3sdgk7q7ggcbs2mbvlk9cjnna02t08r1lkdiju" /> </div> <div> <input id="button1" type="button" value="raise button2 server side click event" onclick="javascript:__dopostback('button2', '')" /> <input type="submit" name="button2" value="asp.net_button2" id="button2" /> </div> </form> </body> </html> update 2
if set buttons "usesubmitbehavior" attribute false, generated __dopostback method , calling client raise event on server.
so difference between submit , postback? (i'll start new thread this).
help!
the javascript __dopostback function called whenever page needed posted back.
to learn __dopostback, read this article.
edit
use usesubmitbehavior property specify whether button control uses client browser's submit mechanism or asp.net postback mechanism. default value of property true, causing button control use browser's submit mechanism. if specify false, asp.net page framework adds client-side script page post form server.
when usesubmitbehavior property false, control developers can use getpostbackeventreference method return client postback event button. string returned getpostbackeventreference method contains text of client-side function call , can inserted client-side event handler.
refer to:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior.aspx
http://www.w3schools.com/aspnet/prop_webcontrol_button_usesubmitbehavior.asp
Comments
Post a Comment