【问题标题】:Accessing a List object stored as a session variable in javascript访问在 javascript 中存储为会话变量的 List 对象
【发布时间】:2013-04-15 13:27:28
【问题描述】:

我的 ASP.NET 应用程序会话中存储了一个 id 列表。出于上下文目的:

  • 这是一个类似 facebook 的聊天模块。 ID 与各个聊天标签相关。
  • jQuery 正在处理很多事情,并且需要每个框的特定 id。
  • 当一个新的聊天会话被创建时,它会在服务器端被赋予一个 id,用于客户端交互,比如 jQuery 事件绑定

该程序运行良好,我只需要一种访问前端列表的方法。我认为将对象转换为 json 对象最有意义,但我不太确定从哪里开始。

【问题讨论】:

    标签: javascript asp.net json oop


    【解决方案1】:

    您始终可以通过执行以下操作将服务器端内容呈现给客户端:

    var ids = '<%= Session["Keys"].ToString() %>';
    

    然后拆分结果并根据需要进行转换。这实际上取决于 ID 的外观(只是数字,或者涉及更多信息)以及您如何使用它们,因此如果没有关于结构的更多信息,很难提供额外的建议。

    【讨论】:

    • 是的,这一直是我的困境。我看了一下 json 序列化,但它似乎有点矫枉过正。我有一个数字列表,仅此而已。我一直在寻找更接近像你上面的 sn-p 的东西来将列表作为字符串吐出并在客户端解析它,但对在 .aspx 页面上使用 cs 代码不太自信
    • 您可以在服务器上轻松地将列表转换为字符串:String.Join(",", (List&lt;string&gt;)Session["Keys"]),然后在客户端javascript中用逗号分割结果。
    • 新问题:我已经使用了你上面的方法,服务器端效果很好,谢谢你的建议。但是,现在我将字符串存储在受保护的属性中并通过 调用它,但字符串在第一个逗号处被截断(未显示)。知道为什么会这样吗?
    • 有趣的是,使用句点作为分隔符就可以了。我想知道这里发生了什么^_^...感谢您的帮助,我可以从这里开始工作,但如果您有任何想法,仍然想弄清楚逗号没有正确传递是怎么回事
    • 不知道,逗号对我有用,除非您在密钥集合中的内容已经有逗号或类似的东西......
    【解决方案2】:

    将此添加到您的项目http://www.nuget.org/packages/Newtonsoft.Json 然后查看此资源http://james.newtonking.com/projects/json/help/index.html?topic=html/SerializingJSON.htm 以了解如何进行序列化/反序列化操作;o)

    【讨论】:

      猜你喜欢
      • 2011-01-03
      • 1970-01-01
      • 1970-01-01
      • 2014-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 2011-12-29
      相关资源
      最近更新 更多