2016-07-29 6 views
0

Hier ist die Form, ich benutze es auch auf form1.aspx befindet:HTML-Formular mit einer C# Aktion, Visual Studio 2015

<form class="col s12" method="post" id="form1" runat="server"> 
<asp:textbox id="num1" type="text" class="validate" runat="server"></asp:textbox> 
<button id="generate" type="submit" name="action" onclick="generate_click"> 
</form> 

Dann Visual Studio verfügt über eine form1.aspx.cs wo einige Code gespeichert ist, so dass ich diese auch dort gespeichert:

protected bool generate_click(object sender, EventArgs e) 
    { 
     bool valid = true; 

     if (num1.Text.ToString() == "1") 
     { 
      MessageBox.Show("Hello"); 
      valid = false; 
     } 
     return valid; 
    } 

wenn ich das Projekt und führen sie bauen, wenn ich die Taste drücken, wird es nur die Seite aktualisieren, was ich möchte, ist Alarm tun den Benutzer, wenn sie füllen das Textfeld mit "1"

+0

Sie können 'MessageBox' nicht in einem Webprojekt verwenden. Sie können [javascript] (https://developer.mozilla.org/es/docs/Web/JavaScript) verwenden, um zu erreichen, was Sie wollen. – DCruz22

+0

Willst du nur eine Message Box zeigen, oder willst du etwas machen, das C# wirklich benötigt? –

+0

Sie könnten einfach eine Beschriftung neben dem Textfeld verwenden und die Nachricht dort veröffentlichen. –

Antwort

0

Der Grund, warum Ihre Schaltfläche die Seite einfach aktualisiert, liegt darin, dass sie eine Clientseite submit ausführt, im Gegensatz zum Ausführen der C# serverseitigen Code-behind. Wenn Sie möchten, dass die Schaltfläche den serverseitigen Code ausführt, fügen Sie runat="server" zur <button> hinzu. Wenn Sie diesen Ansatz verwenden, sollten Sie stattdessen stattdessen eine verwenden.

Allerdings vermute ich, was Sie wirklich mit einem Klick tun möchten ist ein Meldungsfeld anzuzeigen. In C# können Sie das nicht tun, da ein Meldungsfeld clientseitig und C# serverseitig ist.


Einfache Lösung: Verwenden Sie <asp:Button onclientclick>

Für weitere Informationen, lesen Sie hier: https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick(v=vs.110).aspx

Viel Glück!