2009-06-26 3 views
3

Ist es möglich, einen bestimmten Wert aus viewstate mit JQuery ....Werte aus ViewState mit JQuery abrufen?

Ich arbeite an einem benutzerdefinierten Steuerelement. Es verwendet jquery, eingebettet in das Steuerelement selbst, um den Wert in einem Textfeld zu manipulieren ... Ich muss einen minimalen und maximalen Wert implementieren ... die Eigenschaften werden im Steuerelement eingerichtet und werden im Viewstate gespeichert ... Stattdessen Wenn ich versteckte Eingabefelder benutze, würde ich die Informationen lieber aus dem Viewstate herausziehen und sie so benutzen .... ist das überhaupt möglich?

Dank

Antwort

2

Sie könnten auch die Min und Max als benutzerdefinierte Attribute der Textbox ausgeben (und sogar Namespace sie, wenn Sie xhtml Gültigkeit behalten möchten); dann würden Sie sie als $thebox.attr('min') undoder ähnlich referenzieren.

+0

Ohne mehr tun zu müssen, als eine if-Anweisung hinzuzufügen, würde ich sagen, dass dies am einfachsten zu implementieren war, ohne dass große Änderungen am Code vorgenommen werden mussten ... Beim Rendern habe ich einfach zusätzliche Attribute mit den Min- und Max-Werten hinzugefügt und warf einfach die jQuery mit der .attr .... es ist ein bisschen komplizierter, da ich die Geschwister von 'this' für die Tasten und ziehen Sie die 'Eingabe' Box ... aber seine ziemlich geradlinig einmal Du kommst darüber hinweg. – Patrick

3

Die kurze Antwort ist, dass man es unter Umständen tun, aber es ist wirklich nicht eine gute Idee.

Wenn Sie das Steuerelement für andere schreiben, gibt es keine Möglichkeit ViewState zu funktionieren. Standardmäßig ist ViewState Base64-codiert, was einfach zu dekodieren ist, aber Benutzer Ihres Steuerelements möchten möglicherweise ihre ViewState Daten verschlüsseln, in welchem ​​Fall Sie abgespritzt werden würden.

Wenn Sie die Steuerung für den eigenen Verbrauch schreiben und Sie müssen nur von ViewState lesen Sie, konnte tun, aber ich würde es nicht empfehlen, wenn Sie eine gut ausgetestet Bibliothek finden, es zu analysieren für dich. Das Format ist ein bisschen haarig (siehe ViewState: All You Wanted to Know und Understanding ASP.NET ViewState für weitere Details).

Wie Sie bereits erwähnt haben, ist die Verwendung eines versteckten Standardfeldes eine gute Alternative, oder Sie könnten einen weiteren JavaScript-Block in Ihre Seite einfügen, um die Variablenwerte an dem Punkt zu setzen, an dem das Steuerelement sie setzt.

+0

Danke für die Info ... Ich war mir nicht sicher, ob es möglich/lohnend war ... das ist etwas, das am ehesten geteilt wird, also werde ich mich vom Viewstate fernhalten. – Patrick