我创建并为控制器中的字符串列表赋值。我想将值列表分配给JavaScript变量。我怎样才能做到这一点?
控制器:
List<string> fruits = new List<string>();
list.Add('Apple');
list.Add('Banana');
list.Add('Kiwi');
ViewBag.FruitList = fruits;
查看:
var fruitList = '@ViewBag.FruitList';
当我运行程序时,fruitList
会以System.Collections.Generic.List 1[System.String]
答案 0 :(得分:10)
您可以使用Html.Raw()
和Json.Encode
:
var fruitList = @Html.Raw(Json.Encode(ViewBag.FruitList));
您可以将Json.Parse()
与Html.Raw()
结合使用来将原始字符串解析为json:
var fruitList = JSON.parse('@Html.Raw(ViewBag.FruitList)');
你也可以使用JsonConvert
使用NewtonSoft JSON将它序列化为json:
var fruitList = '@JsonConvert.Serialize(ViewBag.FruitList)';