将C#ASP.NET数组传递给Javascript数组

有谁知道如何将C#ASP.NET数组传递给JavaScript数组?示例代码也将很好。

抱歉,如果我以前的人含糊不清。这个问题实际上很简单。为了简单起见,我在aspx.cs文件中声明:

int [] numbers = new int[5];

现在,我想传递numbers给客户端,并在JavaScript中使用数组中的数据。我该怎么做?

回答:

您可以使用ClientScript.RegisterStartUpScript将javascript注入Page_Load的页面中。

这是MSDN参考的链接:http :

//msdn.microsoft.com/zh-

cn/library/asz8zsxy.aspx

这是Page_Load中的代码:

  List<string> tempString = new List<string>();

tempString.Add("Hello");

tempString.Add("World");

StringBuilder sb = new StringBuilder();

sb.Append("<script>");

sb.Append("var testArray = new Array;");

foreach(string str in tempString)

{

sb.Append("testArray.push('" + str + "');");

}

sb.Append("</script>");

ClientScript.RegisterStartupScript(this.GetType(), "TestArrayScript", sb.ToString());

注意:使用StringBuilder生成脚本字符串可能会很长。

以下是在使用注入数组之前对其进行检查的Javascript:

if (testArray)

{

// do something with testArray

}

这里有两个问题:

  1. 有人认为这对C#注入Java脚本是一种干扰

  2. 我们必须在全局上下文中声明数组

如果不能接受,另一种方法是让C#代码将数组保存到View

State,然后让JavaScript使用PageMethods(或Web服务)回调到服务器以将该View

State对象作为数组。但是我认为对于这样的事情可能会过大。

以上是 将C#ASP.NET数组传递给Javascript数组 的全部内容, 来源链接: utcz.com/qa/397543.html

回到顶部