web-dev-qa-db-fra.com

Différence entre le bouton et asp: bouton onclick

Je suis nouveau dans le développement d'asp.net pour la création de sites Web. J'ai donc du mal à comprendre la différence entre les éléments suivants. Quelle est la différence entre un bouton asp: et un bouton d'entrée?

Code 1
code aspx

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

Codebehind

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

Code 2
code 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>
19
New Developer

Le premier code est un code côté serveur. Lorsque vous ajoutez une balise asp:button dans votre formulaire Web, asp.net affichera un input type="button" pour vous et lorsque vous cliquez sur ce bouton, il soumet une publication à la même page (appelée postback) et traite le cycle de vie et l'événement asp.net associés à ce bouton. Il en va de même pour chaque contrôle serveur tel que TextBoxes (render input type='text'), Panels (rend divs), Checkboxes (rend input type='checkbox'), Labels (rendu spans) etc ...

Dans le second code, vous avez le code que le premier affichera (un input type = 'button'), mais associé à un événement dans le javascript côté client.

Vous pouvez également associer un événement côté client dans une balise asp:button, jetez un œil à la propriété OnClientClick.

21
Felipe Oriani

asp:Button est un contrôle serveur asp.net qui déclenche un événement côté serveur.

<input id="Submit1" type="submit"

est un bouton côté client de type soumettre, mais il peut également servir de bouton côté serveur en ajoutant

runat="server" et onserverclick="eventname"

6
Ali Issa

Le premier est un contrôle côté serveur et le gestionnaire d'événements est exécuté sur le serveur en C #. Cliquer sur le bouton entraînera une publication et toutes les informations du formulaire seront publiées sur le serveur pour traitement, y compris un appel au gestionnaire d'événements Click.

Le second est entièrement côté client et le gestionnaire d'événements est exécuté dans le navigateur en JavaScript.

6
Oded

à ma connaissance, vous devez garder à l'esprit qu'il existe un code côté client qui s'exécutera, par exemple javascript dans votre navigateur, et du code asp/c # qui s'exécutera sur le serveur.

Donc, avoir ce contrôle:

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

Button1_Click s'exécutera sur le serveur, dans le monde Microsoft c'est IIS, en revanche vous avez juste un contrôle html pur, où vous connectez une fonction javascript pour l'événement click

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

Donc, le côté serveur n'a rien à voir avec cette partie, ce code s'exécutera sur votre machine, dans votre navigateur.

4
Alan Budzinski

Un 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)
2
Marta Gomez