我为 Controller 中的字符串列表创建并赋值。我想将值列表分配给 JavaScript 变量。我怎样才能做到这一点?

Controller :

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] 返回

最佳答案

方式一:

您可以使用 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)');

方式3:

您也可以使用 JsonConvert 类使用 NewtonSoft JSON 将其序列化为 json:
var fruitList = '@JsonConvert.Serialize(ViewBag.FruitList)';

10-05 23:35