【问题标题】:ViewState, Session, Hidden Form Fields, and QueryString for state management ASP.NET用于状态管理 ASP.NET 的 ViewState、Session、隐藏表单字段和 QueryString
【发布时间】:2015-03-16 18:38:37
【问题描述】:

我正在学习 ASP.NET 和 C#,我有几个问题,因为阅读 msdn 页面令人困惑。

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

【问题讨论】:

    标签: asp.net asp.net-mvc-3


    【解决方案1】:

    视图状态:

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

    会话状态:

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

    隐藏表单域:

    当您的视图状态禁用时,隐藏字段可用于存储需要跨多个回发保留的数据。

    与 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

    【讨论】:

      【解决方案2】:

      不要将 QueryStrings 用于会话管理。这是超级危险的,而且很容易受到会话劫持。

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

      查看 FormsAuthentication 类 (SetAuthCookie) 函数,了解一些相当简单的内容。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-14
        • 2012-03-24
        • 2012-05-11
        相关资源
        最近更新 更多