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>
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
.
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"
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.
à 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.
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)