【问题标题】:Kendo UI grid toolbar template Dropdown ErrorKendo UI 网格工具栏模板下拉错误
【发布时间】:2013-03-14 13:38:10
【问题描述】:

Reference1 Reference2

在进入此阶段之前我遇到了一些其他问题,这些问题在 Referencea 链接中有详细说明,无论如何主要问题是在最终获得下拉列表(Reference2)以显示它之后,不幸的是实际上并没有连接到控制器应该没有明显的答案为什么。

似乎表明任何事情的唯一错误是:- 类型错误:r 未定义 kendo.web.min.js 第 13 行

我用于下拉菜单的当前代码是:-

<script type="text/x-kendo-template" id="template">
    <div class="toolbar">
        <label class="category-label" for="external">Show patients by ex:</label>
        <input type="search" id="external" style="width: 230px"></input>
    </div>
</script>

var dropDown = grid.find("#external").kendoDropDownList({
            dataTextField: "ExName",
            dataValueField: "ExId",
            autoBind: false,
            optionLabel: "All",
            dataSource: {
                type: "json",
                severFiltering: true,
                transport: {
                    url: '@Url.Action("_Ex", "Entry")',
                    data: { ignore: Math.random() }
                }
            },
            change: function () {
                var value = this.value();
                if (value) {
                    grid.data("kendoGrid").dataSource.filter({ field: "ExId", operator: "eq", value: parseString(value) });
                } else {
                    grid.data("kendoGrid").dataSource.filter({});
                }
            }
        });



<style scoped="scoped">
    #grid .k-toolbar
    {
        min-height: 27px;
    }
    .external-label
    {
        vertical-align: middle;
        padding-right: .5em;
    }
    #external
    {
        vertical-align: middle;
    }
    .toolbar {
        float: right;
        margin-right: .8em;
    }
</style>

我知道控制器操作有效,并不是因为 1 它甚至没有被调用,而是因为我在另一个页面上使用它,而是作为层次结构网格中的主网格。

非常感谢您提供有关此方面的想法或帮助。

【问题讨论】:

    标签: asp.net-mvc-4 kendo-grid


    【解决方案1】:

    组合框上数据源的传输配置不正确。 type 属性的唯一有效值是“odata”,而您指定“json”。如果要指定数据源传输返回 json,则需要像这样配置数据源:

      dataSource: {
          serverFiltering: true,
          transport: {                    
              read: {
                  url: '@Url.Action("_Ex", "Entry")',
                  dataType: 'json'
              }
          },
     }
    

    dataType 属性指定您希望从服务器返回的数据类型。

    url 属性指定远程数据的 URI。

    您可以找到有关数据源 API here 的综合文档。

    【讨论】:

    • 到目前为止,将 dataType 设置为 json 会得到相同的错误,但使用 type: 'odata' 显示没有错误但不起作用,因为我的控制器操作是 JsonResult。公共 JsonResult _Ex(int skip, int take) { IEnumerable bme = _bdb.BMEx.ToList(); List exList = new List(); bme.ToList().ForEach(x => { exList.Add(new ExDTO(x)); }); return Json(new { Data = exList.OrderBy(x => x.ExName).Skip(skip).Take(take).AsEnumerable(), Count = exList.Count() }, JsonRequestBehavior.AllowGet); }
    • 我将尝试创建一个可与 odata 一起使用的操作,但我之前从未使用过该类型,因此我们将不胜感激。
    • 我无法找到有关创建 odata 操作的有用信息,因此最终放弃了使用内置的 kendo 下拉重新绑定并创建了我自己的并将页面表单 ID 绑定到传输读取事件和更改事件。由于我的问题只是关于我遇到的错误,而您的回答解决了该错误,因此我将其标记为正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    相关资源
    最近更新 更多