2011-01-05 14 views
6

Ist es möglich, eine ASP-Schaltfläche zu haben, die nicht mit einem type="submit"-Tag gerendert wird. Ich möchte nicht, dass der Button das Formular abschickt, also möchte ich es stattdessen als type="button" haben. Vielleicht wäre ein besserer Weg, um meine Frage zu formulieren: Wie verhindere ich, dass ein Asp-Knopf gesendet wird?Asp-Taste mit unterschiedlicher Taste

Antwort

1

Wenn Sie nicht möchten, dass die Schaltfläche gesendet wird, benötigen Sie überhaupt eine Schaltfläche? Schließlich macht es nichts, bevor es zurück auf den Server sendet. Sie können auch einfach eine <input type="button" verwenden.

That being said, können Sie Javascript verwenden, um eine Postbacks zu verhindern:

<asp:Button runat="server" OnClientClick="return false;" /> 
+0

eine HTML-Schaltfläche diese wegen nicht: http : //stackoverflow.com/questions/4608733/onserverclick-not-working. Gibt es eine Möglichkeit, die Submit-Server-Seite ebenfalls zu stoppen? – Radu

+0

"stop the submit server-side" macht keinen Sinn. Entweder Sie reichen ein oder Sie nicht, es ist der Client (Browser), der letztendlich entscheidet. Vielleicht geben Sie etwas mehr Kontext, was versuchen Sie zu erreichen? – driis

+1

Ich musste nur eine Webforms-Anwendung aktualisieren und ich stolperte darüber. Die Frage ist sicher verwirrend. Ich bin nicht sicher, warum irgendjemand OnClientClick verwenden würde ... für die anderen Antworten Das funktioniert für ME, weil ich jquery habe, um mit einer Schaltfläche zu interagieren Das gibt OUT als type =" button "anstelle von type =" submit "perfect ... –

3

Zwei Möglichkeiten:

1) eine OnClientClick Eigenschaft hinzufügen, die falsch zurückgibt.

<asp:Button runat="Server" ONClientClick="return true"/> 

2) oder ein HTML Control dh verwenden:

<input type="button" id="testButton" value="Regular Button" runat="server"/> 
+0

In meinem Fall aktualisiert UseSubmitBehavior =" false "die Seite noch immer. Die zweite Option dieser Antwort funktioniert stattdessen. –

+0

UseSubmitBehavior ist eine Eigenschaft, die die Verwendung von _which_ submit-Mechanismus (Browser oder ASP.NET mit JavaScript) auswählt. ** Die Eigenschaft deaktiviert die Seitenübermittlung nicht. ** Weitere Informationen finden Sie unter [MS-Dokumente] (https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior (v = vs.110) .aspx) – Ondrej

1

Sie müssen Postbacks verhindern, wenn auf einem

Check this

29

drücken, können Sie legen nur UseSubmitBehavior="false" und es wird render type="button" statt type="submit" (mindestens .net 4)

+0

Ja das ist die richtige Antwort! –

+0

UseSubmitBehavior ist eine Eigenschaft, die die Verwendung von _which_ submit-Mechanismus (Browser oder ASP.NET mit JavaScript) auswählt. ** Die Eigenschaft deaktiviert die Seitenübermittlung nicht. ** Weitere Informationen finden Sie unter [MS-Dokumente] (https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.usesubmitbehavior (v = vs.110) .aspx) – Ondrej

8

Mit dem Attribut UseSubmitBehaviour = "false" mein Problem gelöst

<asp:Button ID="button1" runat="server" UseSubmitBehavior="false" Text="just a button" /> 

Dieses Attribut seit Net v2.0 verfügbar ist, für weitere Informationen: Button.UseSubmitBehavior Property

+0

Korrigieren Sie auch –

+0

UseSubmitBehavior ist eine Eigenschaft, die auswählt, welcher Mechanismus (Browser oder ASP.NET mit Javascript) verwendet werden soll. Die Eigenschaft deaktiviert die Seitenübermittlung nicht. – Ondrej

Verwandte Themen