0

我想在 MVC 控制器中创建一个数组并将其嵌入到页面中,以便 jQuery 可以使用它。

如果我走:

var arr = new[]{"abc", "bca", "xyz"};
ViewBag.MyArray= arr.ToString();

我在网页中得到 System.String[] 。

如果我走

this.ViewBag.StartupScript = Json(new { flag = "en_GB", flag = "ro_RO" }).Data;

它不会编译,复制名为 flag 的匿名类型属性。

4

2 回答 2

1

如果您的目标是从数组中创建一个字符串,您需要:string.Join('delimiter', arr)

至于你的第二个例子,你显然不能在同一个对象上命名两个属性相同的东西。

当然,您的问题有些错误,并且可以通过推断出您的含义的另一个答案来更好地回答。

于 2013-10-22T21:01:47.577 回答
0

首先,您需要将其传递给视图:

ViewBag.MyArray = arr;

然后在视图中:

<script type="text/javascript">
var arr = @Html.Raw(Json.Encode(ViewBag.MyArray));
</script>
于 2013-10-22T21:04:52.400 回答