Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用自定义数据源时,剑道显示未定义_Javascript_Kendo Ui_Kendo Asp.net Mvc - Fatal编程技术网

Javascript 使用自定义数据源时,剑道显示未定义

Javascript 使用自定义数据源时,剑道显示未定义,javascript,kendo-ui,kendo-asp.net-mvc,Javascript,Kendo Ui,Kendo Asp.net Mvc,在实现自定义数据源时,处理程序javaScript方法被正确调用,ajax请求成功并返回正确的数据,并且kendo.all.js on success方法被正确调用并传递所有相同的信息,就好像它不是自定义数据源一样。但是,对于标题和描述值,UI都显示未定义的 注意:我们目前将其作为常规ajax数据源使用,但我们希望对ajax请求进行自定义处理 查看代码 @(Html.Kendo().ListView<ItemModel>() .Name("MyItems"

在实现自定义数据源时,处理程序javaScript方法被正确调用,ajax请求成功并返回正确的数据,并且kendo.all.js on success方法被正确调用并传递所有相同的信息,就好像它不是自定义数据源一样。但是,对于标题和描述值,UI都显示未定义的

注意:我们目前将其作为常规ajax数据源使用,但我们希望对ajax请求进行自定义处理

查看代码

@(Html.Kendo().ListView<ItemModel>()
    .Name("MyItems")
    .TagName("div")
    .HtmlAttributes(new { @class = "my-items-listview" })
    .ClientTemplateId("myItemListTemplate")
    .DataSource(ds => ds
        .Custom()
        .Transport(new
        {
            read = new ClientHandlerDescriptor
            {
                HandlerName = "CustomAjax.getData"
            },
            action = Url.Action("GetMyItems", "Home")
        })
        .PageSize(5)
    )
    .Pageable(pageable => pageable.Refresh(true))
)
<script type="text/x-kendo-tmpl" id="myItemListTemplate">
    <div class="my-item">
        <div>
            <div>
                <div>#=Title#</div>
                <div>#=Description#</div>
            </div>
        </div>
    </div>
</script>
CustomAjax

const CustomAjax = (function() {

    function getData(options) {
        var that = this;
        postDataSource(that.action, options.data, options.success, options.error);
    }

    function postDataSource(url, data, successCallBack, errorCallBack) {
        $.ajax({
            url: url,
            type: 'POST',
            data: data,
            dataType: "json",
            success: successCallBack,
            error: errorCallBack
        });
    }

    return {
        getData: getData
    };
})();
const CustomAjax = (function() {

    function getData(options) {
        var that = this;
        postDataSource(that.action, options.data, options.success, options.error);
    }

    function postDataSource(url, data, successCallBack, errorCallBack) {
        $.ajax({
            url: url,
            type: 'POST',
            data: data,
            dataType: "json",
            success: successCallBack,
            error: errorCallBack
        });
    }

    return {
        getData: getData
    };
})();