webentwicklung-frage-antwort-db.com.de

Die ASP.NET-Schaltfläche wird beim Klickereignis nicht ausgelöst

Ich bin neu bei Asp.net und meine Frage ist vielleicht nicht so professionell. Ich verwende das Design von Udemy.com in meinem asp.net-Webformulare-Projekt. Ich setze die Kopf- und Fußzeile von udemy in eine masterpage. Wenn ich jedoch einem der m Webformulare eine Schaltfläche hinzufüge, wird das Klickereignis nicht ausgelöst.

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

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

Um dieses Problem zu beheben, habe ich alle Skripts von meinen Seiten gelöscht. Ich habe auch versucht, CausesValidation auf False zu setzen. Aber nichts hilft ... Könnten Sie mir helfen, dieses Problem zu lösen?

Aktualisieren

Ich habe das OnClick-Ereignis zu meinem Code hinzugefügt. Aber ich stehe immer noch vor diesem Problem.

7
user3138901

Alle vorherigen Antworten sind korrekt, mit der Ausnahme, dass Sie das OnClick-Ereignis der ". Aspx" -Datei "bereits hinzugefügt" haben. Ich weiß nicht, ob es etwas in der verwendeten Vorlage oder irgendwo ist sonst im Code. Ich würde jedoch empfehlen, Folgendes zu überprüfen (aufgrund meiner Erfahrung, in ähnlichen Situationen festgefahren zu sein):

  1. Haben Sie Feldprüfer auf Ihrer ".aspx" -Seite? Möglicherweise wird einer dieser Prüfer ausgelöst und wenn sie ohne Fehlermeldungen waren.
  2. Haben Sie diesen Button von woanders kopiert? Wenn ja, versuchen Sie, eine neue Schaltfläche und ihr Klickereignis hinzuzufügen, indem Sie im Entwurfsmodus auf die Schaltfläche doppelklicken. Manchmal wird das Ereignis der Schaltfläche "OnClick" nicht in der Datei ".designer.cs" registriert.
13
CodingMate

Dies ist ein Beispielcode. Sie haben "OnClick =" MyButton_Click "in Ihrer Schaltfläche übersehen.

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

Einige Punkte, die Sie möglicherweise versuchen ... Der Code, den Sie (nach dem Update) gepostet haben, sollte funktionieren.

  • Wenn Sie den Design-Bereich Ihres Visual Studios öffnen und auf die Schaltfläche doppelklicken, wird dies zum Ereignis-Klick dieser Schaltfläche führen. Wenn es keine Veranstaltung gibt, wird eine für Sie erstellt. 
  • Ihre Schaltfläche muss sich innerhalb des Formular-Tags befinden. 
  • Um zu testen, dass das Klicken des Ereignisses ausgelöst wird, verwenden Sie Breakpoints nicht label oder eine andere Markierungsänderung. Wenn Sie dies jedoch möchten, sollten Sie prüfen, ob die Title-Komponente das runat="server"-Attribut besitzt und sich in einem Aktualisierungsfenster befindet. 
4
Michel Ayres

Fügen Sie das CausesValidation = "false"-Attribut der Schaltfläche hinzu:

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

Wenn Sie den Click-Handler im Code dahinter zuweisen, stellen Sie sicher, dass er sich nicht in einer IsPostBack ==-false-Prüfung befindet:

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

Es fehlt OnClick="Button1_Click". Sie müssen ein Ereignis wie dieses hinzufügen 

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

Versuche dies

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

Ist das Ihre Seitenanweisung ?

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

Versuchen Sie, Button innerhalb des Formular-Tags zu platzieren

wie

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

Prüfen Sie und versuchen Sie, das Attribut "required" für ein anderes Eingabeelement zu entfernen. es funktioniert mit in meinem Fall .. es dauerte eine Weile, bis ich es herausfand.

Lesen Sie hier auch diese Frage ... dasselbe Problem asp.net Button OnClick-Ereignis wird nicht ausgelöst

0
Marselus Chia

Testen Sie das einfache Beispiel in online aspdotnetfiddle .

Erstellen eines Beispielprogramms mit einer einzigen Schaltfläche und Beschriftungssteuerung, wenn auf die Schaltfläche geklickt wird, das Klickereignis der Schaltfläche ausgelöst wird und der Etikettentextwert zugewiesen wird.

0
user930323

Bitte überprüfen Sie, ob der Button in Ihrer Datei page.aspx.designer.cs korrekt definiert ist.

etwas wie der folgende Code:

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

Wenn Sie über zwei Schaltflächen und zwei Validierungszusammenfassungen verfügen, müssen Sie ValidationGroup = "Group2" für jede Validierungszusammenfassung, Textfeld und Schaltfläche hinzufügen.

Und für das andere Add: ValidationGroup="Group1" sollte es dann funktionieren.

0
Mona Aldkheel

Seitenanweisung wie diese 

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" />

der folgende Code sollte sich innerhalb der Default.aspx.cs befinden.

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

Meine Vermutung, wo das Problem liegen könnte, ist möglicherweise ein Problem in der Direktive  

Default.aspx

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

oder Sie hätten denasp: ButtonTag innerhalb des form - Tags nicht aufgerufen 

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

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

    </div>
    </form>

Dies ist ein Beispielcode. Sie haben "OnClick =" MyButton_Click "in Ihrer Schaltfläche übersehen. 

aspx

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

code hinter 

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

Meine persönliche Antwort lautet: Sie müssen mehr über Google erfahren 

Einige beste Tutorials für 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 und kann mit MSDN-Website

Sie können mehr asp.net-Steuerelemente und etc verstehen ....

0

Wenn das Problem beim Starten der Validierung besteht und Ihre Schaltfläche die Validierung nicht auslösen sollte, sollten Sie den Attributen Ihrer Schaltfläche die Option "UrsValidation =" false "hinzufügen.

0

Dein Button sollte so sein

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

Können Sie das bitte versuchen:

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

Sie erwähnen den Ereignishandler für das Schaltflächenklickereignis nicht.

ich hoffe es hilft.

0
Sai Avinash

In meinem Fall wurde das Ereignis nicht ausgelöst, da ich die Schaltfläche an den Hauptteil der Masterseite anfügte und der Tag <form> im Tag <body> war 

Ich habe das Problem gelöst, indem ich die Schaltfläche an das <form>-Tag anfügte

Alter Code

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

Neuer Code

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

Javascript kann auf Ihrer Seite unbemerkt fehlschlagen, wodurch die Verarbeitung abgebrochen wird und das Klickereignis nicht ausgelöst wird. Wenn ich vermute, dass dies geschieht, füge ich dies vor dem Debuggen unmittelbar unter dem Skript-Tag ein:

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

Für Produktionscode entfernen.

0
Resource