2012-12-22 2 views
0

asp.net mvc 3 with razor입니다. 모델의 유형은 IList<PipeLineView>입니다. PipeLineView의 정의는 내가 얻을, 나는 파이어 폭스에서 페이지를로드 할 때 내가 asp.net mvc의 Javascript Serializer가 잘못된 Json을 생성합니다.

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

이 나는 ​​

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

추천하고 자바 스크립트에서 일을하고있는보기에서

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; } 
    } 

입니다 다음 js 오류

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

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

여기에 무슨 문제가있을 수 있습니까? 방금 쓸 수있는 구문 분석 할 필요가 없습니다

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

그러나 귀하의 경우 : 당신은 인수가 그래서 @Html.Raw(data) 주위 ''를 추가 문자열을 인용 할 필요가 있으므로 감사

답변

2

JSON.parse는 JSON 문자열을 기대 :

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

네, 효과가있었습니다. 대단히 감사합니다 :) –

관련 문제