有人知道如何通过C#ASP考试吗.NET数组到JavaScript数组?示例代码也很好.
抱歉,如果我之前语焉不详的话,伙计们.问题其实很简单.为简单起见,我们假设在我的aspx.cs
文件中声明:
int [] numbers = new int[5];
现在我想将numbers
传递到客户端,并在JavaScript中使用数组中的数据.我该怎么做?
有人知道如何通过C#ASP考试吗.NET数组到JavaScript数组?示例代码也很好.
抱歉,如果我之前语焉不详的话,伙计们.问题其实很简单.为简单起见,我们假设在我的aspx.cs
文件中声明:
int [] numbers = new int[5];
现在我想将numbers
传递到客户端,并在JavaScript中使用数组中的数据.我该怎么做?
你可以使用ClientScript.RegisterStartUpScript将javascript注入页面加载时的页面.
以下是MSDN参考的链接:
以下是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构建脚本字符串,因为它可能会很长.
下面是在使用注入数组"testArray"之前判断它的Javascript:
if (testArray)
{
// do something with testArray
}
这里有两个问题:
有些人认为这会干扰C#注入Javascript
我们必须在全局上下文中声明数组
如果你不能接受这种情况,另一种方法是让C#代码将数组保存到视图状态,然后让JavaScript使用PageMethods(或web服务)回调服务器,以将视图状态对象作为array.但我认为这样做可能有点过头了.