Frage

Ich habe eine Seite, in der ich den Wert des Objekts zwischen Post Rücken pflegen will. Ich denke an zwei Möglichkeiten, den Wert von Objekten zu erhalten

  
      
  1. Speichern Sie den Wert in View Sate
  2.   
  3. Speichern Sie den Wert in verstecktes Feld
  4.   

Welche ist die beste Option, basierend auf der Leistung zu verwenden,

War es hilfreich?

Lösung

Viewstate, wenn Sie nicht müssen sie in Client-seitiges Script verweisen. Ein verstecktes Feld, wenn Sie tun.

Beachten Sie auch, dass, wenn die Daten empfindlich ist, die Viewstate standardmäßig verschlüsselt, während das versteckte Feld, standardmäßig speichert sie als Klartext sichtbar für jeden, der weiß, wie Quelle anzuzeigen.

Bearbeiten

Per @ Andrew Hares Hinweis auf seine eigene Antwort, ich bin der Bearbeitung dieses. Es ist ein wichtiger genug Unterschied zu beachten. Ich würde es hassen, für jemanden zu denken, dass sie die Viewstate auf Grund meiner Aufsicht „sicher“ verwendet haben.

Der Viewstate wird nicht standardmäßig verschlüsselt, es als Base-64-Codierung gespeichert ist. Es kann ziemlich leicht entschlüsselt werden, so die Viewstate verwenden, da es standardmäßig verschlüsselt ist, ist ungültig. Es ist besser als Klartext, aber nicht für jeden mit der Fähigkeit, google „entschlüsseln Viewstate“ oder „dekodieren Viewstate“.

auf der Viewstate So bauen Sie nicht Ihre verborgenen Informationen in Client-Seite Code zu schützen.

Ein Artikel erzählt, wie es zu verschlüsseln richtig. (Warnt aber auch zu Leistungsproblemen).

Andere Tipps

Es ist nicht wirklich wichtig, da sich Viewstate in einem versteckten Eingang gespeichert. Verwenden Sie je nachdem, welche ist für Sie einfacher. Wenn es nach mir ginge, würde ich Viewstate, da die ASP.NET-Laufzeit wählt, wird die Serialisierung und Deserialisierung Ihrer Objekte für Sie.

Ich mag Viewstate - es ist viel schwieriger zu hacken ist - eine üble Person leicht um Ihre Seite zu Ihnen mit schlechten Daten in Ihren verborgenen Feldern einreichen könnte

Sie wollen, dass es in der View State speichern. Versteckte Felder können auf dem Browser aktualisiert werden, da sie Informationen speichern gemeint sind, die auf der Client-Seite manipuliert werden können. Der Ansichtszustand wird durch asp.net gegen Manipulation überprüft werden, in dem Sie sich, dass mit dem verborgenen Bereich tun müssen.

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