Frage

ich meinen Kopf versuche um die Steuerungsinfrastruktur zu wickeln für die diejenigen ASP.NET unterhält Ansicht Zustand zu verstehen.

Es ist diese regelmäßige HTML-Steuerelemente ab: <input type="radio" checked="checked"/> -> Ich verstehe diese nicht Ansichtszustand haben

Dann gibt es HTML-Steuerelemente mit runat = "server" <input type="radio" checked="checked" runat="server"/> -> Ist der Ansichtszustand zwischen Postbacks beibehalten erhalten

Dann gibt es ASP.NET-Steuerelemente <asp:TextBox id="txtMyText" runat="server"/> -> Ich verstehe diese Ansichtszustand zu tun haben

Wir haben einige benutzerdefinierte Steuerelemente, die erben HtmlTextBox <myPrefix:myTextBox id="txtMyText" runat="server"/> -> Ist das die gleiche wie Typ-2-oben

?

Ist es sicher davon ausgehen, dass jede Steuerung mit runat="server" Tag Ansichtszustand gehalten werden kann?

War es hilfreich?

Lösung

Es gibt 3 Arten von Kontrollen, die Standard-HTML-Elemente wie, HTML-Serversteuerelementen, die die runat = Server-Tag hinzugefügt und vollständige Web-Kontrollen. Nur der Web-Steuerelemente Ansichtszustand beibehalten.

Andere Tipps

Als wir begonnen ich Probleme mit Ansichtszustand mit der Viewstate Helfer-Software von Binary Fortress mit http : //www.binaryfortress.com/aspnet-viewstate-helper/

Es gibt Ihnen einen Einblick in das, was vor sich geht - sowie mit Ansichtszustand bezogenen Performance-Probleme helfen können Sie den Ansichtszustand mit einem Klick dekodieren und sehen, was wirklich drin ist - so bekommen Sie zu verstehen, was Kontrollen verwenden Ansichtszustand und welche nicht, und genau das, was sie da drin sind, zu speichern.

Auch etwas, das niemand anderes erwähnt hat, ist Control. Dies kam zusammen mit ASP.NET 2 und der Theorie ist, dass die wichtigen Sachen, die für eine Kontrolle Funktion geht in dem Steuerzustand und die Daten usw. in dem Ansichtszustand necesssary ist, so können Sie abschalten der Ansichtszustand und bindet die Daten zu Ihrer Kontrolle auf jedem Postback und die Kontrolle noch funktioniert im Prinzip Control verwenden. Ich sage „Theorie“, weil in der Praxis die Umsetzung lückenhaft scheint. Wenn Sie den Code Dropdownlist Blick in zum Beispiel mit Reflektor ist dies nicht ordnungsgemäß umgesetzt. Dies kann mit späteren Versionen des Frameworks haben sich geändert, ich bin nicht sicher. Viele Informationen über Control da draußen, wenn Sie danach suchen, dachte ich nur, dass ich es nennen würde.

afaik nicht, dass die HTML-Steuerelemente ist nicht zu halten alles in dem Ansichtszustand entwickelt, wenn Sie darum kümmern, die WebControls nehmen.

Alles, was Sie auf Ihrer Seite Ansicht setzen und die runat = „server“ add hat sich der Ansichtszustand beibehalten.

Wie bei dynamisch hinzugefügt Kontrollen, es hängt davon ab, wann und wie Sie die Steuerung an den Steuerbaum hinzuzufügen. Überprüfen Sie die akzeptierte Antwort aus href="https://stackoverflow.com/questions/196518/problem-with-dynamic-controls-in-net/196963#196963"> diese Frage meine Frage hier .

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