2009-07-16 6 views
4

Wie können wir die Entscheidung für Viewstate und versteckten Feld in ASP.NET treffen.View State vs verstecktes Feld in asp.net

In meinem Fall benutze ich Seite Cross-Post zurück und mit öffentlichen Eigenschaften der ersten Seite, ich bin auf sie in zweiten Aspx-Seite zugreifen.

Nachdem öffentliche Variablen in der zweiten Aspx-Seite abgerufen werden, muss ich auf diesen Wert in der zweiten Seite zugreifen, aber sobald ich Postback auf der zweiten Seite mache, kann ich diesen Wert nicht finden.

Um dieses Problem zu lösen, habe ich zwei Lösung entweder Viewstate in der zweiten Seite verwenden oder versteckte Feld auf der zweiten Seite verwenden.

Ich kann mich nicht entscheiden welches ich verwenden soll?

Antwort

8

Der Ansatz ist ziemlich gleich. Einziger Unterschied sollte die Größe der gespeicherten Informationen sein (ViewState verwendet [manchmal verschlüsselt] base64, während versteckte Felder nur Text verwenden, wenn Sie sie nicht selbst kodieren), und ViewState ermöglicht es Ihnen, sicherzustellen, dass die Daten nicht manipuliert wurden hat an Ort und Stelle.

+0

Vielen Dank –

+0

Sie sind willkommen. OK W. einen anderen gültigen Punkt angehoben - Daten, die Sie in einem versteckten Feld speichern, können mit der Client-Seite manipuliert werden. ViewState wird tatsächlich als verstecktes Feld auf dem Markup gespeichert, ist aber vom clientseitigen Code aus praktisch nicht zugänglich. – synhershko

0

Wenn die Daten klein sind und Sie den Wert basierend auf einem clientseitigen Verhalten ändern möchten, ist ein ausgeblendetes Feld hilfreich.

0

Unterschied zwischen Ansichtszustand und einem versteckten Feld in asp.net

http://royalarun.blogspot.in/2012/03/difference-between-view-state-and.html

Sowohl den Wert zu speichern während der Postbacks in asp.net verwendet, aber

In View Zustand - nicht in der Lage, den Wert von Client-Seite Code dh Java-Skript zu ändern.
Verstecktes Feld - möglich, den Wert durch Client-seitigen Code zu ändern.

im Ansichtszustand - Sie können mehr speichern, als ein Wert wie Datentabelle und Dataset
verstecktes Feld - Sie können mehr speichern, als ein Wert in verstecktem Feld, von serialisierten es.

Ansicht Zustandsdaten werden verschlüsselt und versteckte Feld ist nicht verschlüsselt