javascript对象System.Collections.Generic.List`1 [System.String]?

时间:2010-09-30 02:03:04

标签: javascript asp.net-mvc model-view-controller

在MVC中,是否可以将C#代码中的字符串(List<string>)数组传递给viewdata,然后在视图中检索该值? e.g:

C#:

List<string> names = new List<string>();
names.Add("a");
names.Add("b");
ViewData["names"] = names;

MVC视图:

<script type="text/javascript">
var nameList = '<%= ViewData["names"] %>';
</script>

上面的代码运行正常,但视图中返回的javascript对象是“System.Collections.Generic.List`1 [System.String]”,无法解析它以获取值。

实现该目的的正确方法是什么,而不是在C#中使用分隔符构建字符串并在视图中拆分值?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用JavaScriptSerializer生成数据的JS表示。

<script type="text/javascript">
var nameList = <%= new JavaScriptSerializer().Serialize(ViewData["names"]) %>;
</script>