首页 > 解决方案 > 为什么在尝试绑定 MVC 中的列时在列中查看 [object Object]

问题描述

这是我在文档准备好的索引中调用的 JS

jsonfields = @Html.Raw(Json.Encode(ViewBag.ColumnData));

这是我要绑定的 Ajax 调用

function onTeamTreeLoad(e) {
    try {
        $.ajax({
            type: "POST",
            url: window.ApplicationPath + 'Generic/GetTeamTree',
            dataType: "json",
            headers: { "__RequestVerificationToken": $("#AntiForgeryToken").val() },
            contentType: 'application/json',
            success: function (data) {
                if (data != null) {
                    $("#TeamName").kendoDropDownTree({
                        dataSource: {
                            schema: {
                                model: {
                                    children: "Items"
                                }
                            },
                            data: data
                        },
                        dataTextField:  "Text",
                        dataValueField: "Id"
                    });

                    try {
                        if (e.model.TeamName !== "") {
                            $("#TeamName").data("kendoDropDownTree").text(e.model.TeamName);
                        }
                    } catch (e) { }
                }
            },
            error: function () {
                console.log('Failed to load');
            }
        });
    } catch (e) {
        console.log(e);
    }
}

为什么我在尝试绑定列时看到 [objectObject]?我希望查看数据而不是 objectObject。我尝试将 SerializeObject 方法添加到 ID 和 Text 但在编辑时我无法查看该列!我想知道 AJAX 调用中是否有任何错误,如果使用 SerializeObject 或 JSON.Stringify 需要添加哪些内容。

标签: javascriptajaxcomboboxasp.net-ajaxkendo-asp.net-mvc

解决方案


在这里,您只是在打印对象。所以 Object -> Stringify 给出类似 [object Object] 的输出。

你可以试试这段代码。

for(var prop in obj) {
  console.log(obj[prop]);
}

推荐阅读