2013-03-14 104 views
1

Reference1 Reference2剑道UI电网工具栏模板下拉错误

我遇到其他一些问题得到这个阶段之前,而这些都是在Referencea链接详细的,反正主要的问题是后终于得到下拉(给定2 )来显示它,不幸的是,它实际上并没有连接到控制器动作,它应该填充它,但没有明显的答案。

这似乎表明什么,唯一的错误是: - 类型错误: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它甚至没有被称为2因为我在另一个页面上使用它,但作为层次结构网格中的主要网格。

由于想法或帮助周围将不胜感激。

回答

1

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

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

的数据类型属性指定你期待什么类型的数据从服务器返回。

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

你可以在数据源API here找到全面的文档。

+0

到目前为止设置dataType为json获取相同的错误,但使用类型:'odata'显示没有错误,但不起作用,因为我的控制器操作是JsonResult。 public JsonResult _Ex(int skip,int take) IEnumerable bme = _bdb.BMEx.ToList(); 列表 exList =新列表(); (x => {exList.Add(new ExDTO(x)); }); (),JsonRequestBehavior.AllowGet);返回Json(new {Data = exList.OrderBy(x => x.ExName).Skip(skip).Take(take).AsEnumerable(),Count = exList.Count() } – Myzifer 2013-03-14 16:32:40

+0

我将尝试创建一个将与odata配合使用的动作,但我从未使用过此类型,因此任何建议或建议都将不胜感激。 – Myzifer 2013-03-14 16:33:55

+0

我无法找到有关创建odata操作的很多有用信息,因此最终放弃使用内置的kendo下拉重新绑定并创建了我自己的绑定页面表单id到传输读取事件和更改事件。由于我的问题只是关于我遇到的错误,并且您的答案已解决,所以我将其标记为正确。 – Myzifer 2013-03-18 11:46:35