javascript - ASP NET 从 javascript 读取 session

标签 javascript c# asp.net vb.net webforms

我有一个 WebForms 应用程序,在其中存储 Session 对象中的字符串数组,我需要 在 javascript 代码中获取这个数组。也许有人可以提供任何解决方案,我该怎么做?

这是我的代码:

    function loadAnswers() {
        var answers = '<%=Session("answers")%>';
    }

但它不起作用,answers 变量在赋值后包含简单的字符串。 ('System.String[]')

最佳答案

如果您将 answers 对象序列化为 JSON,那么您应该能够从 JavaScript 以编程方式访问它。

var answers = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Session("answers")) %>;
<小时/>

更新:下面是一个使用四种不同类型的数据(字符串、数字、集合、对象)的工作示例。这说明了如何将从服务器序列化的 JSON 用作客户端的 JavaScript 对象文字。

代码隐藏:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebFormsTestApp
{
    public partial class _Default : Page
    {
        protected string Name = "Alice Student";
        protected decimal GPA = 3.84M;
        protected List<string> Classes = new List<string>() { "World History", "Algebra II", "English", "Phys Ed", "Latin I", "Home Economics" };
        protected School School = new School() { Name = "Jefferson High School", County = "Hamilton County", Ranking = 5 };
    }

    public class School
    {
        public string Name { get; set; }
        public string County { get; set; }
        public int Ranking { get; set; }
    }
}

ASPX:

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebFormsTestApp._Default" %>

<script type="text/javascript">
    var name = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Name) %>;
    var gpa = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(GPA) %>;
    var classes = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Classes) %>;
    var school = <%= new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(School) %>;
    alert(name + ' goes to ' + school.Name + ', has a ' + gpa + ' GPA, and takes ' + classes.length + ' classes.');
</script>

关于javascript - ASP NET 从 javascript 读取 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656914/

相关文章:

javascript - 在 Accordion 中显示来自 API 的数据

c# - 无法在 C# 中隐式转换类型 'System.Collections.Generic.List<AnonymousType#1>

c# - 以编程方式更改 Windows 中的打印机首选项

ASP.NET ListView : how to insert "particular" item each N items?

javascript - Navigator.share 在 Angular 中不起作用,但在 codepen 中的测试中起作用

javascript - 使用 WordPress 发送带有附件的电子邮件

c# - ASP.NET DllImport 导致应用程序退出

c# - HttpPostedFileBase 缺少引用

javascript - Gulp mocha Istanbul 尔 免费获得 100%

c# - 避免 aspnet_compiler 运行 PreApplicationStart 方法