![](/img/trans.png)
[英]How to pass JSON data from server to client side and use the data in Javascript?
[英]How to pass json string generated on server side and use it as aparameter in javascript on client side in MVC
大家好,这是我的第一个问题!
所以基本上我想将序列化的数组从服务器端传递到客户端,然后将其用作JS中的参数。 目前,我通过viewModel将其作为常规字符串发送,并尝试通过使用@ Html.Raw()进行注入,如下所示,但它不起作用:
var table = $('#shipments').dataTable({
"bServerSide": true,
"sAjaxSource": "GetShipmentsAH",
"bProcessing": true,
"bJQueryUI": true,
"fnCreatedRow": function (nRow, aData, iDataIndex) {
$(nRow).attr('shipID', aData[0]);
},
"aoColumns": @Html.Raw(Model.ShipmentsAoColJSon);
});
这是Model.ShipmentsAoColJSon的值:
[{ “SNAME”: “ID”, “sDefaultContent”: “”, “bSortable”:真 “bSearchable”:真 “SSEARCH”: “”},{ “SNAME”: “EAN”, “sDefaultContent”: “”, “bSortable”:真 “bSearchable”:真 “SSEARCH”: “”},{ “SNAME”: “串行”, “sDefaultContent”: “”, “bSortable”:真 “bSearchable”:真“SSEARCH”: “”},{ “SNAME”: “NR”, “sDefaultContent”: “”, “bSortable”:真实的, “bSearchable”:真实的, “SSEARCH”: “”},{ “SNAME”: “StoreUnitNr”, “sDefaultContent”: “”, “bSortable”:真实的, “bSearchable”:真实的, “SSEARCH”: “”},{ “SNAME”: “FCODE”, “sDefaultContent”: “”, “bSortable” :真正的 “bSearchable”:真实的, “SSEARCH”: “”},{ “SNAME”: “ProdDesc”, “sDefaultContent”: “”, “bSortable”:真实的, “bSearchable”:真实的, “SSEARCH”:” “}]
当我只是复制粘贴它直接编码时,它可以正常工作。 有任何想法吗?
我发现了问题的根源。 当我直接将脚本粘贴粘贴到工作的html标记中时,脚本存储在外部.js文件中。 似乎@Html剃须刀只能在主要的HTML页面上使用,而不能在js文件中使用。 为了解决这个问题,我在HTML中写了这个:
var ShipAoColJSon = @ Html.Raw(Model.ShipAoColJSon);
然后将其传递给js。 文件:
var table = $('#shipments').dataTable({
"bServerSide": true,
"sAjaxSource": "GetShipmentsAH",
"bProcessing": true,
"bJQueryUI": true,
"fnCreatedRow": function (nRow, aData, iDataIndex) {
$(nRow).attr('shipID', aData[0]);
},
"aoColumns": ShipAoColJSon
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.