web-dev-qa-db-fra.com

Le bouton ASP.NET ne se déclenche pas lors d'un événement clic

Je suis nouveau sur Asp.net et ma question peut ne pas être aussi professionnelle. J'utilise le design de Udemy.com dans mon projet de formulaires Web asp.net. Je mets l'en-tête et le pied de page de udemy dans un masterpage. Mais lorsque j'ajoute un bouton à l'un des m formulaires Web, l'événement de clic ne se déclenche pas.

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

protected void Button1_Click1(object sender, EventArgs e)
{
    Page.Title = "Sample Text";
}

Pour résoudre ce problème, j'ai supprimé tous les scripts de mes pages. De plus, j'ai essayé de définir CausesValidation sur False. Mais rien n'y fait… .. Pourriez-vous m'aider à résoudre ce problème?

Mettre à jour

J'ai ajouté l'événement OnClick à mon code. Mais je suis toujours confronté à ce problème.

7
user3138901

Toutes les réponses précédentes sont correctes, sauf que vous "avez déjà ajouté" l'événement OnClick au fichier ". Aspx" . Je ne sais pas s'il s'agit de quelque chose dans le modèle que vous utilisez ou quelque part autre dans le code. Mais je vous recommanderais de vérifier les points suivants (d'après mon expérience d'être coincé dans des situations similaires):

  1. Avez-vous des validateurs de champ dans votre page ".aspx"? Peut-être un de ces validateurs est-il renvoyé et s’il n’y avait aucun message d’erreur.
  2. Avez-vous copié ce bouton ailleurs? Si c'est le cas, essayez d'ajouter un nouveau bouton et d'ajouter son événement click en double-cliquant sur le bouton en mode Création. Comme parfois, l'événement du bouton "OnClick" n'est pas enregistré dans le fichier ".designer.cs".
13
CodingMate

Ceci est un exemple de code. Vous avez oublié "OnClick =" MyButton_Click "dans votre bouton.

aspx

<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />
code behind

protected void **MyButton_Click**(object sender, EventArgs e)
{
    // Put code here over there chuhu
}
4
user3827821

Quelques points que vous pouvez essayer ... Le code que vous avez posté (après la mise à jour) devrait fonctionner.

  • Si vous ouvrez la partie Conception de votre studio visuel et que vous double-cliquez sur le bouton, cela vous mènera au clic de l'événement sur ce bouton. S'il n'y a pas un événement, il en créera un pour vous. 
  • Votre bouton doit être dans la balise de formulaire. 
  • Pour tester le claquement de l'événement, utilisez Breakpoints pas d'étiquette ou toute autre modification de balise, mais si vous le souhaitez ... vous devez vérifier si le composant Title a l'attribut runat="server" et qu'il se trouve dans un panneau de mise à jour. 
4
Michel Ayres

Ajouter l'attribut CausesValidation = "false" du bouton comme:

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" CausesValidation="false"></asp:Button>
2
Mayur Ajiwale

Si vous assignez le gestionnaire de clics dans le code derrière, assurez-vous qu'il ne se trouve pas dans une vérification IsPostBack == false

void Page_Load (object oSender, EventArgs oEventArgs)
{
   if (IsPostBack == false)
   {
       oButton += new EventHandler(oButton_Click); // does not work
   }
   oButton += new EventHandler(oButton_Click); // does work
}
1
Brett Weber

OnClick="Button1_Click". Il vous faut ajouter un événement comme celui-ci 

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
1
Sain Pradeep

Essaye ça

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

Est-ce votre directive page ?

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
0
Nagaraj S

Essayez de placer Button dans une balise de formulaire

comme

<form id="#" runat="Server">
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"></asp:Button>
</form>
0
Vignesh Kumar A

Vérifiez et essayez de supprimer l'attribut "requis" sur un autre élément d'entrée. cela fonctionne dans mon cas… il m'a fallu un certain temps pour le découvrir.

Lisez ici cette question également ... même problème asp.net Button Un événement OnClick ne se déclenche pas

0
Marselus Chia

Veuillez tester l’exemple simple dans online aspdotnetfiddle .

Exemple de programme créé avec un seul bouton et un contrôle d’étiquette, lorsqu’il clique sur un bouton, un événement déclenchant sur un bouton, dans l’affectation de la valeur textuelle de l’étiquette.

0
user930323

Veuillez cocher le bouton est défini correctement dans votre fichier page.aspx.designer.cs.

quelque chose comme ci-dessous code:

protected global::System.Web.UI.WebControls.Button Button1;
0
Manoj Mevada

Si vous avez deux boutons et deux résumés de validation, vous devez ajouter ValidationGroup = "Group2" pour chaque résumé de validation, zone de texte et bouton.

Et pour l'autre, ajoutez: ValidationGroup="Group1", cela devrait alors fonctionner.

0
Mona Aldkheel

Directive de page comme ça 

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

HTML

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

le code suivant doit être à l'intérieur du Default.aspx.cs

protected void Button1_Click(object sender, EventArgs e)
    {
        Page.Title = "Sample Text";
    }

Je suppose que le problème est peut-être lié à la directive 

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

ou bien vous n’auriez pas appelé la baliseasp: Buttonà l’intérieur du form tag 

 <form id="form1" runat="server">
    <div>

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

    </div>
    </form>
0

Ceci est un exemple de code. Vous avez oublié "OnClick =" MyButton_Click "dans votre bouton. 

aspx

<asp:Button ID="MyButton" **OnClick="MyButton_Click"** runat="server" />

code derrière 

protected void **MyButton_Click**(object sender, EventArgs e)
{
    // Put code here
}

Ma réponse personnelle est, vous devez apprendre plus de choses dans Google 

Quelques meilleurs tutoriels pour asp.net

http://www.w3schools.com/aspnet/default.asp

http://www.asp.net/web-pages/tutorials

- http://asp.net-tutorials.com/

http://quickstarts.asp.net/QuickStartv20/default.aspx et peut apprendre beaucoup de connaissances depuis site Web MSDN

Vous pouvez comprendre plus de contrôles asp.net et etc ....

0
Ramesh Rajendran

Si le problème est lié au déclenchement de la validation et que votre bouton ne doit pas déclencher de validation, envisagez d'ajouter CausesValidation = "false" aux attributs de votre bouton.

0
Jim Argeropoulos

Votre bouton devrait être comme ça

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
0
AbdulRahman Ansari

Pouvez-vous s'il vous plaît essayer ceci:

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

Vous ne mentionnez pas le gestionnaire d'événements pour l'événement de clic de bouton.

j'espère que ça aide.

0
Sai Avinash

Dans mon cas, l'événement n'a pas été déclenché car j'ai ajouté le bouton au corps de la page maître et la balise <form> était dans la balise <body>

J'ai résolu le problème en ajoutant le bouton à la balise <form>

Ancien code

$('body').append($(".ButtonsDiv"));

Nouveau code

$('#form1').append($(".ButtonsDiv"));

Javascript peut échouer en silence sur votre page, entraînant l'abandon du traitement, ce qui empêche le déclenchement de l'événement click. Si je soupçonne que cela se produit, je le colle immédiatement sous la balise de script avant le débogage:

window.onerror = function (message, filename, linenumber) {
        alert("JS error: " + message + " on line " + linenumber + " for " + filename);
}

Supprimer pour le code de production.

0
Resource