如何赋值List到ViewBag中并在JavaScript中使用

本文关键字:ViewBag JavaScript string 何赋值 赋值 List | 更新日期: 2023-09-27 18:04:00

我在控制器中创建字符串列表并为其赋值。我想把值列表赋值给一个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]

如何赋值List<string>到ViewBag中并在JavaScript中使用

方式一:

您可以使用Html.Raw()Json.Encode:

var fruitList = @Html.Raw(Json.Encode(ViewBag.FruitList));

方式2:

你可以结合使用Json.Parse()Html.Raw()将原始字符串解析为json:

var fruitList = JSON.parse('@Html.Raw(ViewBag.FruitList)');

方式3:

您也可以使用JsonConvert类使用NewtonSoft JSON将其序列化为JSON:

var fruitList = '@JsonConvert.Serialize(ViewBag.FruitList)';