2

我正在尝试使用 JavaScript 访问在 aspx 文件后面的 C# 代码中初始化的数组。我的数组如下所示:

arr[0]="IE 7.0,IE 8.0";
arr[1]="chrome 23.0";

我想在javascript中访问这个数组,然后使用以下方法将每个数组转换arr[0]为一个新数组:

var Browsers=new Array();
Browsers=arr[0].split(',');

任何人都可以帮助我这样做吗?

提前致谢!

4

3 回答 3

0

像下面这样尝试它会帮助你...

代码隐藏: 在代码隐藏中声明一个公共变量,如下所示...

public partial class Default : System.Web.UI.Page
{
    public string[]  arr ={"IE 7.0,IE 8.0","chrome 23.0"};

Javascript:

 <script>
    var IEarray = '<%=arr[0] %>'.split(',');
    for (i = 0; i < IEarray.length; i++)
        alert(IEarray[i]);

    var Chromearray = '<%=arr[1] %>'.split(',');
    for (i = 0; i < Chromearray.length; i++)
        alert(Chromearray[i]);           
</script>
于 2013-04-11T13:19:48.047 回答
0

使用JavaScriptSerializer从数组中获取 json 字符串;

string serial = new JavaScriptSerializer().Serialize(arr);

然后使用任何首选技术将此字符串呈现给客户端;例如将它插入到 aspx 中:

<script type="text/javascript">
   var myclientarr = JSON.parse('<%= serial %>');
</script>

其他选项是使用脚本管理器或创建将返回您的数据的 ashx,然后在页面中引用它。

于 2013-04-11T13:21:28.090 回答
0

您可以将 C# 数组转换为 JavaScript 格式并在页面上分配值。

// C#
var arr = new string[]{ "IE 7.0,IE 8.0", "chrome 23.0" };
var serializer = new JavaScriptSerializer();
var jsArray =
    arr.Select(s => s.Split(','))
       .Select(serializer.Serialize);

<!-- JS -->
<script>
    var browsers = <%= jsArray[0] %>;

</script>
于 2013-04-11T13:31:54.463 回答