【问题标题】:Share data between aspx pages在 aspx 页面之间共享数据
【发布时间】:2013-10-03 01:11:00
【问题描述】:

我需要在同一应用程序的两个不同 aspx 页面之间共享数据(字符串、列表、数组)。如果我不想使用 cookie 并且不希望数据在 url 中可见,那么最好的方法是什么。

a) Form post method
b) Session (cookies?)
c) Sql
d) Server.Transfer

谢谢

【问题讨论】:

    标签: asp.net forms session get server.transfer


    【解决方案1】:

    内存中的Session 将是在页面之间存储数据而不在查询字符串 (URL) 中可见的最简单和最快(开发方面)的方法,如下所示:

    要将List<string> 存储在Session 中,请执行以下操作:

    var listOfStrings = new List<string>();
    listOfStrings.Add("1");
    listOfStrings.Add("2");
    listOfStrings.Add("3");
    
    Session["ListOfStrings"] = listOfStrings;
    

    要从Session 中检索List&lt;string&gt;,请执行以下操作:

    // Check to see if item in Session is actually there or not
    if(Session["ListOfStrings"] != null)
    {
        // Cast the item in Session to a List<T>, because everything in Session is an object
        var myListOfStringsRetrieved = Session["ListOfStrings"] as List<string>;
    }
    

    注意:我假设您使用 C#,但这可以很容易地转换为 VB.NET。

    【讨论】:

      【解决方案2】:

      更多细节可能会有所帮助。你想分享什么类型的信息?如果它是需要保存的东西,那么从一个页面将数据保存在数据库(或本地存储,或您正在使用的任何东西)中并在另一个页面中检索它可能是最有意义的。如果它只是临时数据,那么通过表单发布数据或使用会话变量可能更有意义。 session 变量的问题是您可能会超时会话。会话变量不是我的首选。

      【讨论】:

        猜你喜欢
        • 2011-07-22
        • 1970-01-01
        • 1970-01-01
        • 2019-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多