用于状态管理的 ViewState、Session、隐藏表单字段和 QueryString ASP.NET

ViewState, Session, Hidden Form Fields, and QueryString for state management ASP.NET

我正在学习 ASP.NET 和 C#,由于阅读 msdn 页面时感到困惑,我有几个问题。

我需要知道如何以及何时使用 ViewState、Session、隐藏表单字段和 QueryString 进行状态管理。

不要使用 QueryStrings 进行会话管理。这是非常危险的,而且真的很容易受到会话劫持。

众所周知,使用 Session[] 有点不安全。只在 Session 中存储不是非常敏感的信息。

查看 FormsAuthentication class (SetAuthCookie) 函数以获得相当简单的东西。

为了更好地实现会话和身份验证,请查看 ASP 成员资格 here

视图状态:

如果您只希望对象在当前页面的生命周期内存在,ViewState 是完美的。

会话状态:

对于需要在跨多个页面的用户整个会话期间持续存在的数据,您应该使用会话状态

隐藏表单域:

当您的视图状态禁用时,隐藏字段可用于存储需要在多个 post 后台持久保存的数据。

与javascript一起使用(因为它是纯文本)

查询字符串:

页面间传值,不保密

更多信息:

https://msdn.microsoft.com/en-us/library/z1hkazw7(v=vs.140).aspx

http://www.codeproject.com/Articles/331962/A-Beginner-s-Tutorial-on-ASP-NET-State-Management