asp.net - ejemplo - Diferencia entre botón y asp: botón onclick
asp:button onclick (5)
Soy nuevo en el desarrollo en asp.net para hacer sitios web. Así que tengo algunos problemas para entender la diferencia entre los siguientes. ¿Cuál es la diferencia entre un asp: Button y un botón de entrada?
Código 1
código aspx
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
Código detrás
protected void Button1_Click(object sender, EventArgs e)
{
//Do somthing
}
Código 2
código aspx
<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />
<script language="javascript" type="text/javascript">
// <![CDATA[
function Submit1_onclick() {
//Do somthing
}
// ]]>
</script>
A mí me funcionó así:
1.- En el botón:
<input type="submit" id="btnAccept" value="Log In" runat="server" onserverclick="btnAccept_Click">
2.- En el codebehind:
Protected Sub btnAccept_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
El primer código es un código del lado del servidor. Cuando agrega una etiqueta asp:button
en su formulario web, asp.net mostrará un input type="button"
para usted y cuando haga clic en este botón, enviará una publicación a la misma página (esto se llama postback
) y procesará el ciclo de vida y el evento asp.net asociado con este botón. Lo mismo es válido para todos los controles de servidor, como los TextBoxes
( input type=''text''
render input type=''text''
), Panels
(divs), Checkboxes
( input type=''checkbox''
render input type=''checkbox''
), Labels
( Labels
render), etc.
En el segundo código, tiene el código que se procesará primero (un input type = ''button''
), pero asociado con un evento en el javascript del lado del cliente.
También puede asociar un evento del lado del cliente en un asp:button
etiqueta asp:button
eche un vistazo a la propiedad OnClientClick
.
El primero es un control del lado del servidor y el controlador de eventos se ejecuta en el servidor en C #. Al hacer clic en el botón se producirá una devolución y toda la información en el formulario se publicará en el servidor para su procesamiento, incluida una llamada al controlador de eventos de clic.
El segundo es totalmente del lado del cliente y el controlador de eventos se ejecuta en el navegador en JavaScript.
Según tengo entendido, debe tener en cuenta que hay un código secundario que se ejecutará, por ejemplo, javascript en su navegador y un código asp / c # que se ejecutará en el servidor.
Así que teniendo este control:
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
Button1_Click se ejecutará en el servidor, en microsoft world es IIS, por otro lado, solo tiene un control HTML puro, donde se conecta una función javascript para el evento click
<input id="Submit1" type="submit" value="submit" onclick="return Submit1_onclick()" />
Por lo tanto, el lado del servidor no tiene nada que ver con esta parte, este código se ejecutará en su máquina, en su navegador.
asp:Button
es un control de servidor asp.net que activa un evento en el lado del servidor.
<input id="Submit1" type="submit"
es un botón del lado del cliente del tipo de envío, pero puede actuar como un botón del lado del servidor también al agregar
runat="server"
y onserverclick="eventname"