0

我在带有剃刀的 asp.net mvc 3 中。该模型是类型IList<PipeLineView>。的定义PipeLineView

public class PipeLineView
    {
        public string Stage { get; set; }
        public decimal Amount { get; set; }
        public string Color { get; set; }
        public int Count { get; set; }
        public int LevelNo { get; set; }
    }

在视图中我正在做类似的事情

JavaScriptSerializer serializer = new JavaScriptSerializer();
    var data = serializer.Serialize(Model);

在我的javascript中

<script type="text/javascript">
 var data =JSON.parse(@Html.Raw(data));
</script>

当我在Firefox中加载页面时,出现以下js错误

SyntaxError: JSON.parse: unexpected character
[Break On This Error]   

...":5,"LevelNo":1},{"Stage":"Level2","Amount":0.000,"Color":"Red","Count":0,"Level...

这里可能是什么问题?谢谢

4

1 回答 1

2

JSON.parse 需要一个 JSON 字符串,因此您需要对参数进行字符串引用,因此请''添加@Html.Raw(data)

<script type="text/javascript">
   var data = JSON.parse('@Html.Raw(data)');
</script>

但在你的情况下,你不需要解析你可以写:

<script type="text/javascript">
   var data = @Html.Raw(data);
</script>
于 2012-12-22T12:44:27.637 回答