Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何分配列表<;字符串>;到ViewBag并在JavaScript中使用?_Javascript_C#_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

如何分配列表<;字符串>;到ViewBag并在JavaScript中使用?

如何分配列表<;字符串>;到ViewBag并在JavaScript中使用?,javascript,c#,asp.net-mvc,asp.net-mvc-3,Javascript,C#,Asp.net Mvc,Asp.net Mvc 3,我在控制器中创建字符串列表并为其赋值。我想将值列表分配给JavaScript变量。我该怎么做 控制器: List<string> fruits = new List<string>(); list.Add('Apple'); list.Add('Banana'); list.Add('Kiwi'); ViewBag.FruitList = fruits; 当我运行程序时,fruitList返回为System.Collections.Generic.List 1[Syst

我在控制器中创建字符串列表并为其赋值。我想将值列表分配给JavaScript变量。我该怎么做

控制器:

List<string> fruits = new List<string>();
list.Add('Apple');
list.Add('Banana');
list.Add('Kiwi');
ViewBag.FruitList = fruits;
当我运行程序时,
fruitList
返回为
System.Collections.Generic.List 1[System.String]

方式1: 您可以为它使用
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
class-using将其序列化为json:

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

可能重复。您是否在客户端上看到控制器返回json,然后
$.getJSON()
?为什么列表需要此选项,而带有字符串的ViewBag不需要此选项?
var fruitList = '@JsonConvert.Serialize(ViewBag.FruitList)';