【问题标题】:javascript object System.Collections.Generic.List`1[System.String]?javascript 对象 System.Collections.Generic.List`1[System.String]?
【发布时间】:2010-09-30 02:03:04
【问题描述】:

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

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# 中使用分隔符构建字符串并在视图中拆分值?

谢谢!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 好一个!但是现在返回的值是: "[a","b]" 这是一个字符串,而不是字符串数组?
    • FTFY - 你不需要在 beestrings 周围加上单引号
    • 这确实是一个非常酷的解决方案。如果删除外部引号,它应该呈现为数组,如下所示: var nameList = ;
    猜你喜欢
    • 2014-03-14
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 2022-08-09
    • 1970-01-01
    相关资源
    最近更新 更多