Frage

Was ist der Unterschied in der Funktionalität zwischen

<asp:Button id="button1" Text="Click me" runat="server" OnClick="submitEvent" />

und

<input type="button" id="button1" runat="server" value="Click me" />

Ist der Eingang mit runat = „server“ -Attribut hat andere oder begrenzte Eigenschaften und Methoden?

Danke!

War es hilfreich?

Lösung

Die erste erzeugt eine System.Web.UI.WebControls.Button während der zweite einen System.Web.UI.HtmlControls.HtmlInputButton erzeugt.

Beide sind Server-Steuerelemente, aber die Kontrollen im WebControls Namespace hat in der Regel ein bisschen mehr Funktionalität als die Kontrollen im HtmlControls Namespace. Typischerweise setzen sie einige Daten in ViewState Spur ihres Staates zu halten, und sie haben Server-Seite Postback Ereignisse.

Jede Steuerelemente im HtmlControls Namespace entsprechen genau einem HTML-Element, während die Kontrollen im WebControls Namespace anders gemacht werden können, je nachdem, was der Browser, der die Seite anfordert unterstützen kann.

Andere Tipps

Die Taste durch <asp:Button runat="server".../> dargestellt wird mit einem fetten Zustand Modell und verschiedenen Eigenschaften und Methoden zu einer Web-Server-Steuerung umgewandelt werden, die mehr klare Darstellung hat in der realen Welt wie Button.Text = „Klicke dich“.

Die Taste durch <input type="button" runat="server"..../> dargestellt wird HTML-Server-Steuerelement von Htmlinputbutton dargestellt umgewandelt werden; mit hat Eigenschaften, Methoden und Ereignisse beschränkt. Die meisten Eigenschaften ähneln den HTML-Äquivalente wie Button.Value = „Klick mich“.

Hinweis

, dass Elemente in einer Markup-Seite sind vorverarbeitet / kompiliert bevor sie verwendet werden und wird zu einer Klasse-Darstellung umgewandelt werden, in dem jedes Element durch eine Steuer dargestellt wird. Sie können Server-Seite steuert den Zugriff, die durch die runat = „server“ Tag aus dem Code hinter identifiziert werden, da sie die richtige Anpassung Serversteuerung (web / html), andere statische Inhalte einschließlich eines <input type="button.../> Tag mit aus dem runat = "server haben "wird als LiteralControl dargestellt werden.

Die ehemalige Linie ist ASP.NET, letztere einfache XHTML.

Die ehemalige wird auf der Server-Seite analysiert und interpretiert, wonach der HTML-Code erzeugt wird, das so ziemlich entspricht Ihr zweites Beispiel. Der ASP.NET-Knopf ist wirklich wenig mehr als das Licht Wrapper über th HTML-Eingabe-Button-Funktionalität und soll verwendet werden, wo auch immer Sie Click Ereignis auf der Server-Seite (oder im allgemeinen Fall alle Ereignisse) behandeln müssen, und ist in der Regel die Art und Weise da Sie auf Ihrer Seite für Sie zu gehen, die Idee einer Schaltfläche ASP.NET abstrakt sind im Stich gelassen.

Funktionalität beider die Steuerelemente ist die gleiche, mit dem Unterschied, dass erste ist Steuerung NET und zweite ist, die HTML-Steuerservercontrol unter Verwendung gemacht werden kann

runat = "server".

und erste ist reich an evants und metods thn die zweite ....

Es gibt keine Server-Ereignisse mit solchen Kontrollen verbunden sind, aber Sie können es in Code-Behind verwenden es Eigenschaften zu ändern.

Die zweite Möglichkeit wird nicht wahrscheinlich sogar arbeiten. runat = „server“ wird direkt an die HTML-Ausgabe gemacht werden, wo es keine Funktionalität haben wird und nur HTML-Validierung brechen.

Eingang ist ein HTML-Element, das nur HTML-Eigenschaften, und auf jeden Fall keine Methoden jeglicher Art hat.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top