2012-04-17 35 views
0

Timeline.js + MVC +添加元素數組的JavaScript錯誤在視圖+ MVC

我有我的看法如下代碼

@{   
    var objs = objstudent.Timelines.Where(x => x.StudentID == Sessions.objStudent.StudentID).AsQueryable(); 
} 
<script type="text/javascript"> 
@{ 
    @:var data = []; 
    foreach(Student.Models.Timeline student in objs) 
    { 
     @:data.push({start : new Date "@student.MeetingDate", content : "@student.Description" }); 
    } 
} 

這裏我想補充細節數據數組將用於在時間軸中顯示細節,但是當我在瀏覽器中檢查數據的值時,它顯示我未定義。

我試過使用但問題是一樣的。

任何解決方案?

回答

1

永遠不要像這樣手動構建javascript文字。始終使用正確的序列化器。例如:

@{   
    var objs = objstudent.Timelines.Where(x => x.StudentID == Sessions.objStudent.StudentID).AsQueryable(); 
} 
<script type="text/javascript"> 
    var data = @Html.Raw(
     Json.Encode(
      objs.Select(x => new 
      { 
       start = x.MeetingDate, 
       content = x.Description 
      }) 
     ) 
    ); 
</script> 

應該結束了,沿着線的東西:該日期時間字段使用/Date(Ticks)格式進行序列化

<script type="text/javascript"> 
    var data = [ 
     { "start": "\/Date(1334655137358)\/", "content": "foo" }, 
     { "start": "\/Date(1334655137358)\/", "content": "bar" }, 
     ... 
    ]; 
</script> 

通知。您可以使用various techniques將它們轉換爲原生javascript日期。