Als ich zuvor ein ASP-Programm geschrieben habe, wusste ich, dass nur eine Schaltfläche mit dem Typ „Senden“ ein Formular zum Senden von Daten an den Server auslösen kann.
Beispiel: Button in Asp.Net ist gleich .
Aber jetzt können viele Steuerelemente in Asp.Net nach Belieben mit der Serverseite interagieren, wie zum Beispiel LinkButton.
Wie wird dies erreicht?
Ist es ein völlig neuer Weg?
Tatsächlich handelt es sich dabei lediglich um einen Workaround von Microsoft.
Werfen wir zunächst einen Blick auf den Client-Code.
Hier ist eine Seite mit LinkButton,
Tatsächlich entspricht LinkButton auf der Clientseite A in HTML.
Werfen wir einen Blick darauf, warum LinkButton auch mit dem Server interagieren kann.
Wenn wir mit der rechten Maustaste klicken, um den Quellcode der Seite anzuzeigen, sehen wir:
Klicken Sie auf mich
Aus dem obigen Code können wir erkennen, dass simpleLinkButton1 ein Link ist und das Formular über den Clientcode übermittelt wird.
Zwei der versteckten Felder werden zum Datenaustausch verwendet, indem diesen beiden versteckten Feldern die beiden Parameterwerte von __doPostBack zugewiesen werden.
Dies ist der intuitivste Grund, warum LinkButton auch die Möglichkeit hat, Daten zu übermitteln.
Wie wurde der obige Code generiert?
Wir können es klar erkennen, indem wir uns den Quellcode von LinkButton ansehen:
protected internal override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
if ((this.Page != null) && this.Enabled)
{
this.Page.RegisterPostBackScript();
if ((this.CausesValidation && (this.Page.GetValidators(this.ValidationGroup).Count > 0)) || !string.IsNullOrEmpty(this.PostBackUrl))
{
this.Page.RegisterWebFormsScript();
}
}
}
Das Obige ist nur eine Aufzeichnung einiger meiner Erfahrungen während des Studien- und Arbeitsprozesses, damit ich es nicht vergesse.
Ich hoffe, mehr mit Ihnen allen kommunizieren zu können!
http://www.cnblogs.com/maplye/archive/2006/08/29/489338.html