Je veux juste savoir s'il y a un moyen de mettre mon événement onClick dans le fichier .cs:
<button type="submit" runat="server" id="btnLogin" class="button" onclick="btnLogin_Click();">
où Login_Click () devrait être dans le fichier .cs:
protected void btnLogin_Click(object sender, EventArgs e)
{
// do something
}
Veuillez noter que je n'utiliserai pas le bouton ASP.NET ici et que je ne mettrai pas mon événement Login_Click () dans .html/.aspx afin que je ne puisse pas "exposer" mes codes. Aucune suggestion?
Vous pouvez le faire sur n’importe quel contrôle de serveur et ce bouton devient un contrôle de serveur en définissant "runat=server
". Le problème réside probablement dans votre définition de l'événement:
<button ... runat="server" ... onServerClick="btnLogin_Click" />
Vous n'avez pas besoin de "();
" ici ...
En dehors de cela, pouvez-vous expliquer pourquoi vous n'utilisez pas le <asp:Button>
ici parce que je ne vois pas vraiment de problème avec cela ...
Vous voudrez utiliser le onServerClick . Il y a un exemple de comment faire cela sur MSDN :
<button id="Button1" OnServerClick="Button1_OnClick" runat="server">
Click me!
</button>
protected void Button1_OnClick(object Source, EventArgs e) {
// secret codes go here
}
btnLogin.Click += new EventHandler( btnLogin_Click );
assignera le gestionnaire d'événements btnLogin_Click à l'événement Click du bouton.
cependant, je ferais remarquer que l'affectation d'un gestionnaire dans le balisage de la page aspx ne "expose pas vos codes", car le code HTML restitué au client ne contient aucune de ces informations.
Je sais qu'il est tard mais j'ai perdu beaucoup de temps sur ce problème. Je mettais InnerHtml d'une div avec des boutons. Vous devez ajouter le type = "submit" à votre bouton si vous voulez que cela fonctionne.
Il est tard, mais pour quelqu'un dehors: Appliquez UseSubmitBehavior="False"
. Exemple
<button type="submit" runat="server" UseSubmitBehavior="False" type="button" id="btnLogin" class="button" onclick="btnLogin_Click();">