2017-11-15 6 views
1

MVCアプリケーションでBoostrapTableを使用しています。変数内のjsonデータからテーブルが読み込まれない

model.DataAsJson = JsonConvert.SerializeObject(model.Entities.Select(x => x.DataProperties)); 

私のクライアント側はこの(スニペット)のようになります:

[{ 
    "RowNum": "2", 
    "ID": "XXX", 
    "ClientFileNo": "XXX", 
    "Description": "XXX", 
    "ClientName": "XXX", 
    "TypeDescription": "XXX", 
    "PrincipleName": "XXX", 
    "Created": "2017-11-08T10:31:23.673Z" 
    }, 
    { 
    "RowNum": "3", 
    "ID": "XXX", 
    "ClientFileNo": "XXX", 
    "Description": "XXX", 
    "ClientName": "XXX", 
    "TypeDescription": "XXX", 
    "PrincipleName": "XXX", 
    "Created": "2017-11-01T12:29:08.763Z" 
    } 
] 

<table id="table"></table> 

<script type="text/javascript"> 
$('#table').bootstrapTable({ 
    data: '@Model.DataAsJson', 
    //url: 'ms.json', 
    columns: [{ 
     field: 'ClientFileNo', 
     title: 'Case No' 
    }, { 
     field: 'ClientName', 
     title: 'Customer Name' 
    }] 
}); 

は、結果のJSONは次のようになり、次のようにコントローラは、いくつかのデータを返します

SerializeObject()呼び出しの結果をjsonファイルに貼り付けてurlプロパティに渡すと、期待どおりに表が作成されます。 「 - 」各列で私はデータプロパティを使用してModel.DataAsJson @しかし、その後、私は私のテーブルに空の行の数千人を持っています。

私がするResponseHandlerプロパティへの参照を見ていると私はそれが私の問題を修正していないが、次のように私のJSON配列に名前を提供しようとしている:これが起こるだろう、なぜ

model.DataAsJson = JsonConvert.SerializeObject(new 
     { 
      jsonData = model.Entities.Select(x => x.DataProperties) 
     }); 

<script type="text/javascript"> 
$('#table').bootstrapTable({ 
    data: '@Model.DataAsJson', 
    responseHandler: function (res) { 
     res.jsonData 
    }, 

誰でも見ることができますか?

答えて

1

OK]をクリックして他の誰かがそれによって引っ掛かり場合には、このの底になりました。

Iは、次のようにモデルデータを読み取るためにJS修飾:

$('#table').bootstrapTable({ 
data: @Html.Raw(Model.DataAsJson) 

だから、アポストロフィを除去しHtml.Rawを加えました。私はChromeデバッガでデータを見ることでこれを認識し、それがエンコードされていることがわかりました。また、私はいくつかの問題を抱えていました。私が作業している従来のコードベースではスクリプトが部分的に表示されていたため、Chromeデバッガはデバッグポイントに当たっていませんでした。私はこれを次のように並べ替えました:

debugger; 

私はそれが壊れたかったところです。

おかげで、これは他の人に役立ちます願っています。

関連する問題