如何将 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>?