【问题标题】:Best way to save variables between postbacks asp.net?在回发asp.net之间保存变量的最佳方法?
【发布时间】:2017-05-03 03:48:49
【问题描述】:

如何在回发之间将变量保存在 asp.net 中? 我正在使用 HttpContext.Current.Items 但它总是在回发后处理有没有其他选项可以做到这一点?

【问题讨论】:

标签: c# asp.net .net


【解决方案1】:

如果您的变量不可序列化或者您不希望客户端能够读取其值 => 使用 inProc Session

如果您的变量是可序列化的并且您不希望客户端能够读取其值 => 使用数据库会话

如果你的变量是可序列化的,并且你可以让客户端读取它的值,并且它应该只存在于页面范围内的回发序列中 => 你应该使用 ViewState。

【讨论】:

    【解决方案2】:
    ViewState["YourVariable"] = "123";
    

    ViewState 集合就是为了这个目的,在上面的例子中,YourVariable 是一个变量,它的值是你要保存的值,123 是这个变量的值。

    ViewState 可以在页面范围内访问。如果你想在不同页面之间有值,你可以使用 ViewState["YourVariable"] = "123";

    之类的会话

    【讨论】:

    • 但是 ViewState 是在客户端>服务器
    • ViewState 在页面范围内是可以访问的。如果你想在不同页面之间有值,你可以使用 ViewState["YourVariable"] = "123"; 之类的会话
    • 你的意思是:如果你想在不同页面之间有值,你可以使用像 Session[YourVariable"] = "123"; 这样的会话
    • 使用ViewState技术也会增加页面的大小,所以最好使用Session变量。只需确保在不再需要 Session 变量时删除它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多