2015-10-23 90 views
0

我在強類型的Razor視圖Page.Now中有dataTable。按照我的要求,我需要使用我的頁面模型填充此內容,但我沒有得到如何操作。這是我的dataTable代碼..如何使用強類型的剃刀視圖頁面填充dataTable

$(document).ready(function() { 
     var dt; 
     var dataSet = []; 
     dt = $("#Setup").dataTable({ 
      "data": dataSet, 
      "paging": false, 
      "responsive": true, 
      "stateSave": true, 
      "columns": [ 
       { "title": "<input type='checkbox' id='selectAll'>", "bSortable": false, "width": "5px", }, 
       { "title": "", "bSortable": false, "width": "5px" }, 
       { "title": "Code", "width": "50px" }, 
       { "title": "Name" } 

      ] 
     }); 

    }); 

我的頁面是Razor視圖頁面。請幫我把它done..Thanks ..

回答

1

一般來說,你應該能夠從剃刀內聯數據這樣:

@{ 
    StringBuilder sb = new StringBuilder(); 
    foreach(row in model.MyTable) 
    { 
    sb.AppendFormat("['{0}', '{1}', '{2}', '{3}'],", 
     row.Field1, row.Field2, row.Field3, row.Field4); 
    } 
} 
$(document).ready(function() { 
     var dt; 
     var dataSet = [@Html.Raw(sb.ToString(0, sb.Length - 1))]; 
     dt = $("#Setup").dataTable({ 
      "data": dataSet, 
      "paging": false, 
      "responsive": true, 
      "stateSave": true, 
      "columns": [ 
       { "title": "<input type='checkbox' id='selectAll'>", "bSortable": false, "width": "5px", }, 
       { "title": "", "bSortable": false, "width": "5px" }, 
       { "title": "Code", "width": "50px" }, 
       { "title": "Name" } 

      ] 
     }); 

    }); 

您應該使用sb.Length - 1以從輸出數組中刪除最後一個逗號(,)。使用Html.Raw()可防止Razor對可能會破壞JavaScript語法的字符串進行編碼。

+0

。非常感謝您的回覆。我正在嘗試一旦完成,我會將其標記爲答案,因爲我會收到任何問題,我會在這裏發表評論。謝謝 – Lara

+0

@Amit ..我更新了我的帖子,代碼是什麼我試着沒有luck.With上面的代碼,我得到空白頁面,沒有錯誤的控制檯的螢火蟲also.Please看到的代碼,並指出了錯誤..謝謝 – Lara

+0

@Lara - 我已經用清潔劑更新了我的答案版本已經(抱歉,較早的,令人困惑的版本)。請再試這樣。 – Amit

相關問題