Kendo网格MVVM不显示数据 [英] Kendo grid MVVM not displaying data

查看:106
本文介绍了Kendo网格MVVM不显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Kendo UI的新手,我很遗憾为什么我的网格不会显示JSON数据。请帮助



我的HTML

I am new to Kendo UI and I am lost as to why my grid wont display JSON data. Please help

My HTML

<head>
    <title></title>
    <link href="include/libraries/kendo/css/kendo.bootstrap.min.css" rel="stylesheet" />
    <link href="include/libraries/kendo/css/kendo.common-bootstrap.min.css" rel="stylesheet" />

    <script src="include/libraries/jquery/jquery-2.2.2.min.js"></script>
    <script src="include/libraries/kendo/js/kendo.all.min.js"></script>
</head>
<body>

    <div id="example">
            <div class="demo-section k-content wide">
                <div>
                    <h4>Add or update a record</h4>
                    <div data-role="grid">
                         data-editable="true"
                         data-toolbar="['create', 'save']"
                         data-columns="[
                                     { 'field': 'CourseID', 'width': 270 },
                                     { 'field': 'CourseName' },
                                     { 'field': 'IsActive' },
                                  ]"
                         data-bind="source: courses,
                                visible: isVisible,
                                events: {
                                  save: onSave
                                }"
                         style="height: 200px"></div>
                </div>
            </div>

            <script>
                var viewModel = kendo.observable({
                    isVisible: true,
                    courses: new kendo.data.DataSource({
                        schema: {
                            model: {
                                id: "CourseID",
                                fields: {
                                    CourseID: { type: "number" },
                                    CourseName: { type: "string" },
                                    IsActive: { type: "boolean" }
                                }
                            }
                        },
                        batch: true,
                        transport: {
                            read: {
                                type: "GET",
                                cache:false,
                                url: "http://localhost:51447/api/Courses",
                                dataType: "jsonp"
                            },
                            parameterMap: function (options, operation) {
                                if (operation !== "read" && options.models) {
                                    return { models: JSON.stringify(options.models) };
                                }
                            }
                        }
                    })
      
                });
                kendo.bind($("#example"), viewModel);

    </script>

</div>

</body>



我的控制器代码


My Controller Code

// GET: api/Courses
        public IQueryable<object> GetCourses()
        {
            return db.Courses.Select(
               o => new
               {
                   CourseID = o.CourseID,
                   CourseName = o.CourseName,
                  IsActive = o.IsActive
               });
        }



我的JSON数据被退回


My JSON data being returned

[{"CourseID":1,"CourseName":"Beauty Therapy","IsActive":true},{"CourseID":2,"CourseName":"Software Development","IsActive":true},{"CourseID":3,"CourseName":"Bookkeeping and Accounting","IsActive":true}]





我的尝试:



我按照Telerik网站上的示例http://demos.telerik.com/kendo-ui/grid/mvvm



What I have tried:

I followed the example on Telerik's website http://demos.telerik.com/kendo-ui/grid/mvvm

推荐答案

#example),viewModel);

< / script >

< / div >

< / body >
("#example"), viewModel); </script> </div> </body>



我的控制器代码


My Controller Code

// GET: api/Courses
        public IQueryable<object> GetCourses()
        {
            return db.Courses.Select(
               o => new
               {
                   CourseID = o.CourseID,
                   CourseName = o.CourseName,
                  IsActive = o.IsActive
               });
        }



我的JSON数据被退回


My JSON data being returned

[{"CourseID":1,"CourseName":"Beauty Therapy","IsActive":true},{"CourseID":2,"CourseName":"Software Development","IsActive":true},{"CourseID":3,"CourseName":"Bookkeeping and Accounting","IsActive":true}]





我的尝试:



我按照Telerik网站上的示例http://demos.telerik.com/kendo-ui/grid/mvvm



What I have tried:

I followed the example on Telerik's website http://demos.telerik.com/kendo-ui/grid/mvvm


I终于搞定了。我的解决方案的结构是这样的,它有一个WebAPI和一个Web应用程序。所以在WebApiConfig.cs文件中,我用粗体添加了这行。它是有效的。



I finally got this fixed. The structure of my solution is such that it has a WebAPI and a Web app. So in the WebApiConfig.cs file I added the line in bold and it worked.

public static void Register(HttpConfiguration config)
        {
            // Web API configuration and services

            config.EnableCors();

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

            
        }


这篇关于Kendo网格MVVM不显示数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆