簡體   English   中英

如何傳遞在服務器端生成的json字符串並將其用作MVC客戶端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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM