【问题标题】:How to pass a C# array to a JavaScript array如何将 C# 数组传递给 JavaScript 数组
【发布时间】:2014-07-17 11:18:38
【问题描述】:

我正在尝试将我的 C# 数组传递给后面的 JavaScript,我已经设法将一个整数传递给后面的代码,但是当我尝试传递数组时,它只显示:var rawData = System.Int32[,] ;

这是我迄今为止尝试过的:

JavaScript

var rawData = <%=this.array2D%>;

C#

public int[,] array2D;

protected void Page_Load(object sender, EventArgs e)
{
    array2D = new int[,] { { 700, 0 }, { 300, 1 }, { 500, 2 }, { 700, 3 }, { 400, 4} };
}

我想要实现的目标是否可行?如果可以,有什么建议可以让它发挥作用吗?干杯。

【问题讨论】:

  • 你需要把数组序列化成json什么的。 Json 是一种简单快捷的方式。
  • 谢谢,我可能知道如何使这项工作发挥作用,谢谢!:)

标签: c# javascript arrays


【解决方案1】:

使用 Json.Net:

string json = JsonConvert.SerializeObject(array2D);

【讨论】:

    【解决方案2】:

    您首先需要将您的 C# 对象序列化为 json。 您可以使用 json.net 之类的东西来实现这一点。一旦在 javascript 中的客户端,您需要解析 json 以将其转换为 javascript。您可以查看 json2 之类的 javascript 库来执行此操作。

    【讨论】:

      【解决方案3】:

      您可以尝试在视图上使用 js 序列化程序 &lt;%@ Import Namespace="System.Web.Script.Serialization" %&gt; var rawData = &lt;%=new JavaScriptSerializer().Serialize(this.array2D) %&gt;

      【讨论】:

      • JavaScriptSerializer 会将多维数组转换为像[700,0,300,1,500,2,700,3,400,4] 这样的简单数组。您最好使用 Json.Net 或使用 this SO question 中的锯齿状数组
      猜你喜欢
      • 2013-05-25
      • 2013-02-03
      • 2020-09-03
      • 1970-01-01
      • 2012-02-10
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      相关资源
      最近更新 更多