繁体   English   中英

鉴于MVC,将JSON数据显示为表格

[英]Display json data as table in view of MVC

我正在MVC 4应用程序中工作。 我试图将json数据绑定到视图中的表,该视图反映为“视图页面”中的表视图。

这是我的控制器代码。

if (reportType == "Report")
{
    result = client.GetApiRequest("api/TurnoverReport/get?packageID=" + Convert.ToInt32(packageID)).Result;
}

结果是一个将输出数据保存为数据表的数据表。 这是结果表

将表传递给View我正在将表序列化为:

System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
            Dictionary<string, object> row = new Dictionary<string, object>();
            row.Add("text", result);
            rows.Add(row);

var test = JsonConvert.SerializeObject(rows, Formatting.Indented,
                        new JsonSerializerSettings
                        {
                            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
                        });

return Json(serializer.Serialize(test), JsonRequestBehavior.AllowGet);

在这里我正在使用jsonconvert因为我有这样的错误信息

序列化类型为'System.Globalization.CultureInfo'的对象时,检测到循环引用。

因此,此json将数据返回为: 将json返回View的数据

我试图在View中显示,但无法获得预期的结果..这是View代码;

 function GenerateReport(packageID) {
    var repType = '@ViewBag.ReportType';
    $.ajax({
        url: '/turnover/GetTurnover' + repType,//?packageID=' + packageID,
        data: { "packageID": packageID },
        cache: false,
        type: 'POST',
        datatype: 'JSON',
        success: function (response) {
            debugger;

您可以在javascript方法中尝试此方法

function GenerateReport(packageID) {
    var repType = '@ViewBag.ReportType';
    $.ajax({
        method: "POST",
        url: '/turnover/GetTurnover' + repType,//?packageID=' + packageID,
        data: '{"packageID":' + packageID + '}',
        contentType: "application/json; charset=utf-8",
        success: function (data) {
            //loop to data.text
            $.each(data.text, function( index, row ) {
               console.log(row);
            });
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM