您可以使用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}这里有两个问题:
有人认为这对C#注入Java脚本是一种干扰
我们必须在全局上下文中声明数组
如果不能接受,另一种方法是让C#代码将数组保存到View
State,然后让Javascript使用PageMethods(或Web服务)回调到服务器以将该View
State对象作为数组。但是我认为对于这样的事情可能会过大。



