asp.netaspbutton

Difference between button and asp:button onclick


I am new to developing in asp.net for making web sites.

What is the difference between an asp:Button and an input button?

Code 1
aspx code

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />  

Codebehind

protected void Button1_Click(object sender, EventArgs e)
{
    //Do somthing
}  

Code 2
aspx code

<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />  


<script language="javascript" type="text/javascript">
// <![CDATA[

function Submit1_onclick() {
    //Do somthing
}

// ]]>
</script>

Solution

  • The first code it is a server side code. When you add a tag asp:button in your webform, the asp.net will render an input type="button" for you and when you click this button, it will submit a post to the same page (this is called postback) and will processing the life cycle and asp.net event associated with this button. The same is valid for every server control such as TextBoxes (render input type='text'), Panels (renders divs), Checkboxes (render input type='checkbox'), Labels (render spans) etc...

    In the second code, you have the code that first one will render (an input type = 'button'), but associated with an event in the client-side javascript.

    You can also associate a client-side event in a tag asp:button, take a look at the OnClientClick property.