我想在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的匿名类型属性。
答案 0 :(得分:1)
如果您的目标是从数组中创建一个字符串,则需要:string.Join('delimiter', arr)
至于你的第二个例子,你显然不能在同一个对象上将两个属性命名为相同的东西。
当然,你的问题有些不对,可以通过另一个答案更好地回答,其中你的意思被推断出来了。
答案 1 :(得分:0)
首先,您需要将其传递给View:
ViewBag.MyArray = arr;
然后在视图中:
<script type="text/javascript">
var arr = @Html.Raw(Json.Encode(ViewBag.MyArray));
</script>