如何将 List<string> 分配给 JavaScript 数组或可枚举对象

Posted

技术标签:

【中文标题】如何将 List<string> 分配给 JavaScript 数组或可枚举对象【英文标题】:How do I send assign a List<string> to a JavaScript array or enumerable object 【发布时间】:2012-09-05 06:30:12 【问题描述】:

我有以下:

ViewBag.SomeEnumerable = new List<string>()  "string1", "string2" ;

现在如何在 javascript 端将 ViewBag.SomeEnumerable 分配给 array 或某种形式的可枚举对象?例如:

function SomeFunction()

  var array = @ViewBag.SomeEnumerable;
  for(var eachItem in array)
  
    alert(eachItem); // should display "string1" then string2"
  

【问题讨论】:

【参考方案1】:
<script type="text/javascript">
function SomeFunction() 
    var array = @html.Raw(Json.Encode(ViewBag.SomeEnumerable));
    for(var i = 0; i < array.length; i++) 
        alert(array[i]); // should display "string1" then string2"
    

</script>

将呈现为:

<script type="text/javascript">
function SomeFunction() 
    var array = ["string1","string2"];
    for(var i = 0; i < array.length; i++) 
        alert(array[i]); // should display "string1" then string2"
    

</script>

【讨论】:

当我声明 var array = @Html.Raw(Json.Encode(ViewBag.SomeEnumerable)); 时,VS 给出了syntax error at ;但是 o/p 在浏览器中呈现的 html 中是正确的 @IshaanPuniani,你为什么还要信任 VS Intellisense?这是错误的。尽管 VS 告诉您它是错误的,但查看呈现的标记是否正确。

以上是关于如何将 List<string> 分配给 JavaScript 数组或可枚举对象的主要内容,如果未能解决你的问题,请参考以下文章

参数类型 'List<Series<dynamic, dynamic>>' 不能分配给参数类型 'List<Series<dynamic, String>&g

如何重写此代码,将字符串列表分配给字符串对象的集合?

如何将 List<string> 转换为 List<myEnumType>?

如何将map<string list<>>转换成城map<string,object>

如何将 List<int> 转换为 string[]?

如何将 List<String> 与 String 进行比较?