the wiring is pretty simple. a submit button, is a html form element. take
this simple html, with a text box and two submits.
<html>
<body>
<form name=f1 method=post action="foo1.aspx">
<input type=hidden name=input1 value=hiddenvalue>
<input type=submit name=submit1 value=submit value=value1>
<input type=submit name=submit2 value=submit value=value2>
<button name=button1 value=value3
onclick="document.forms[0].submit()">
</form>
</body>
</html>
if the use clicks on submit button, the browser does a form post including
the name/value pairs of the form elements (input, submit, select and
textarea). there are some rules on which elements are included.
if type=submit button will only be posted if clicked.
if type=checkbox will be included if checked == true
if type=radio will be included if checked == true
the element must be enabled to postbcak its value
if type=image, must be clicked and also sends name_x and name_y values.
if the user clicks submit1, the postback data is
input1=hiddenvalue@submit1=value1
if the user clicks submit2, the postback data is
input1=hiddenvalue@submit2=value2
if the user clicks button1, the postback data is
input1=hiddenvalue
as buttons (which are not a form elements) do not post back values, and a
script triggered postback will not include any type=submit values.
for auto postback controls (like the dropdown), client script fills in a
hidden field named "__EVENTTARGET", where the postback control name is
written, then the client script calls "form.submit()", which will not
include any submit buttons in the postback data.
note: you can also have more than one form, but only the element values of
one of the forms is postedback.
-- bruce (sqlwork.com)
<ma***********@hotmail.com> wrote in message
news:11*********************@g10g2000cwb.googlegro ups.com...
Hi,
I have been developing web applications for a while now.
However, as I was thinking through the architecture I really don't
understand the "How server can identify between which buttons has made
the postback request.???"
for e.g.
I have a webpage default.aspx.
I place TWO or more server buttons on it.
Create server-side event handlers for each of the buttons.
Now run the application. If I look at the source HTML generated, it
shows "INPUT" element of type "SUBMIT" for each of the buttons and
since it is "SUBMIT" button it does not have any onclick event
associated with it by default.
I am really puzzled on ...
HOW server determines which button has been clicked.
because each time I click different button it really fireas the
appropriate event handlers on the serverr which is correct. But just
want to understand the underlying wiring.
Any lights on this will be greatly appreciated.
Thanks
--Mike