kendo ui核心实体框架核心未定义在kendoMultiSelect中

时间:2017-11-23 13:33:17

标签: javascript entity-framework kendo-ui

UI看起来像这样

<div class="col-md-3">
    <select id="kMultiSelect" data-placeholder="Select Traits..." />
</div>

的Javascript

<script>
    var dataSourceTraits = new kendo.data.DataSource({
        transport: {
            read: {
                url: "api/Traits",
                dataType: "json"
            },
            create: {
                url: "api/Traits",
                type: "POST",
                dataType: "json",

                parameterMap: function (options, operation) {
                    if (operation !== "read" && options.models) {
                        return { models: kendo.stringify(options.models) };
                    }
                }
            },
        },
        schema: {
            model: {
                ID: "Trait",
                fields: {
                    ID: { type: "number" },
                    UID: { type: "string" }
                }
            }
        }
    });
    $("#kMultiSelect").kendoMultiSelect({
        autoBind: true,
        dataTextField: "UID",
        dataValueField: "ID",
        dataSource: dataSourceTraits
    });
</script>

模型

    public int ID { get; set; }
    public virtual string UID { get; set; }
    .....

控制器

 // GET: api/Traits
    [HttpGet]
    public IEnumerable<Trait> GetTrait()
    {

        // var test = _context.Trait;

        return _context.Trait;
    }

我的表中有4行,我在kendoMultiSelect中得到4行,每行只有#34; undefined&#34;对于文本。

Looks like this

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在更多帮助之后,实体框架核心默认返回json。这个数据源工作

    var dataSourceTraits = new kendo.data.DataSource({
        type: "json",
        transport: {
            read: {
                url: "api/Traits"

            }
        },
        schema: {
            model: {
                fields: {
                    id: { type: "number" },
                    name: { type: "string" }
                }
            }
        }
    });