Viewstate, wenn Sie nicht brauchen es in Client-seitiges Script zu verweisen. Ein verstecktes Feld, wenn Sie es tun.
Bedenken Sie auch, dass das Viewstate standardmäßig verschlüsselt ist, wenn die Daten sensitiv sind, während das verborgene Feld es standardmäßig als einfachen Text speichert, der für jeden sichtbar ist, der weiß, wie er die Quelle anzeigen kann.
bearbeiten
Per @ Andrew Hares Hinweis auf seine eigene Antwort, ich bearbeite ich diese. Es ist eine wichtige genug Unterscheidung zu beachten. Ich würde es hassen, dass jemand denkt, dass sie "sicher" sind, indem sie das Viewstate basierend auf meiner Aufsicht benutzen.
Das Viewstate ist NICHT standardmäßig verschlüsselt, es wird als Base-64-Codierung gespeichert. Es kann relativ leicht entschlüsselt werden, so dass Viewstate verwendet wird, weil es standardmäßig verschlüsselt ist. Es ist besser als Nur-Text, aber nicht für jemanden mit der Fähigkeit, "Viewstate entschlüsseln" oder "Viewstate dekodieren" zu googeln.
Verlassen Sie sich also nicht auf Viewstate, um Ihre versteckten Informationen im clientseitigen Code zu schützen.
Ein Artikel here erzählt, wie man es richtig verschlüsselt. (warnt aber auch vor Leistungsproblemen).
Ich bin mir nicht sicher, ich stimme zu ... Viewstate ist verschlüsselt, wo ein verstecktes Feld, ist standardmäßig nicht Es sei denn, ich vermisse etwas. Normalerweise vertraue ich deinen Antworten, also wette ich, dass mir etwas fehlt. – David
Nein, Sie machen einen guten Punkt - ViewState kann verschlüsselt werden (aber es ist nicht immer - standardmäßig ist es einfach Base-64-codiert). Schöner Fang! :) –
Danke! Sie haben natürlich Recht mit der Base-64. Das ist ein wichtiger Unterschied. Ich bearbeite meine Antwort, um das zu reflektieren. – David