Werte aus dem Ansichtszustand mithilfe von JQuery abrufen?

Ist es möglich, einen bestimmten Wert mit JQuery aus dem Ansichtszustand zu erhalten....

Ich arbeite an einem benutzerdefinierten Steuerelement. Es verwendet jquery, eingebettet in das Steuerelement selbst, um den Wert in einem Textfeld zu manipulieren... Ich muss mindest- und maximalwerte implementieren... Die Eigenschaften werden im Steuerelement eingerichtet und im Ansichtszustand gespeichert... Anstatt versteckte Eingabefelder zu verwenden, ziehe ich die Informationen lieber einfach aus dem Ansichtszustand und verwende sie auf diese Weise.... ist das überhaupt möglich?

Dank

Antwort auf "Werte aus dem Ansichtszustand mithilfe von JQuery abrufen? " 2 von antworten

Die kurze Antwort ist, dass man es unter bestimmten Umständen tun kann, aber es ist wirklich keine gute Idee.

Wenn Sie das Steuerelement für andere schreiben, gibt es keine Möglichkeit, dass ViewState is going to work. By default, funktioniert. Standardmäßig ist ViewState is Base64 encoded which is easy enough to decode, but users of your control may want to encrypt their Base64 codiert, was einfach genug ist, um zu dekodieren, aber Benutzer Ihres Steuerelements möchten möglicherweise ihre ViewState data, in which case you would be hosed. Daten verschlüsseln, in diesem Fall würden Sie geschlaucht werden.

Wenn Sie das Steuerelement für Ihren eigenen Verbrauch schreiben und nur von ViewState, you lesen müssen, könnten Sie dies tun, aber ich würde es nicht empfehlen, es sei denn, Sie finden eine gut gedebuggte Bibliothek, um sie für Sie zu analysieren. Das Format ist etwas behaart (siehe ViewState: All You Wanted to Know and und Understanding ASP.NET ViewState for more details). für weitere Details).

Wie Sie erwähnt haben, ist die Verwendung eines ausgeblendeten Standardfeldes eine gute Alternative, oder Sie können einen weiteren Javascript-Block in Ihre Seite einfügen, um die Variablenwerte an jedem Punkt festzulegen, an dem das Steuerelement sie festlegt.

Sie können auch die min und max als benutzerdefinierte Attribute des Textfeldes ausgeben (und sogar Namespace, wenn Sie xhtml-Gültigkeit beibehalten möchten); dann würden Sie sie als $thebox.attr('min') and und $thebox.attr('max') or similar. oder ähnlich referenzieren.