Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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运行时错误:";对象没有';t支持属性或方法“;在Internet Explorer中_Javascript_Jquery_Kendo Ui_Kendo Grid_Kendo Asp.net Mvc - Fatal编程技术网

Javascript运行时错误:";对象没有';t支持属性或方法“;在Internet Explorer中

Javascript运行时错误:";对象没有';t支持属性或方法“;在Internet Explorer中,javascript,jquery,kendo-ui,kendo-grid,kendo-asp.net-mvc,Javascript,Jquery,Kendo Ui,Kendo Grid,Kendo Asp.net Mvc,我用的是剑道网格,它们对积垢操作很有效。现在,我想通过在网格规范中添加.Filterable()选项来添加过滤。下面是一些代码: <div id="datagrid"> @(Html.Kendo().Grid<SustIMS.Models.ConcessionModel>() .Name("datagrid_Concessions") .Columns(columns => { columns.Bound(c =>

我用的是剑道网格,它们对积垢操作很有效。现在,我想通过在网格规范中添加
.Filterable()
选项来添加过滤。下面是一些代码:

<div id="datagrid">
    @(Html.Kendo().Grid<SustIMS.Models.ConcessionModel>()
    .Name("datagrid_Concessions")
    .Columns(columns =>
    {
        columns.Bound(c => c.Code).Title("Code");
        columns.Bound(c => c.Description).Title("Description");
        columns.Bound(c => c.TrafficOpeningDate).Title("Traffic Opening Date");
        columns.Bound(c => c.CreationDate).Title("Creation Date");
    })
    .HtmlAttributes(new { style = "height: 534px;" })
    .Filterable() // here's the filterable option
    .Selectable()
    .Events(e => e.Change("onChange"))
    .Pageable(pageable => pageable
        .Refresh(true))
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(15)
        .Read(read => read.Action("GetConcessions", "MasterData"))
    )
    )
</div>

@(Html.Kendo().Grid())
.名称(“datagrid_特许经营权”)
.列(列=>
{
columns.Bound(c=>c.Code).Title(“Code”);
columns.Bound(c=>c.Description).Title(“Description”);
columns.Bound(c=>c.TrafficOpeningDate).Title(“交通开放日期”);
columns.Bound(c=>c.CreationDate).Title(“创建日期”);
})
.HtmlAttributes(新的{style=“height:534px;”})
.Filterable()//这里是Filterable选项
.可选()
.Events(e=>e.Change(“onChange”))
.Pageable(Pageable=>Pageable
.Refresh(true))
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(15)
.Read(Read=>Read.Action(“获取特许权”、“主数据”))
)
)
网格呈现完美,现在网格的列标题上显示小过滤器图标:

但是当我点击其中一个时,弹出窗口会打开半秒钟,然后抛出错误。我正在使用VisualStudio2010,调试器显示一个带有
javascript运行时错误:对象不支持属性或方法“addBack”

此外,它还会打开文件
kendo.all.min.js
,并在方法
addBack
所在的代码行上加亮显示

注意:我在Chrome和Firefox上进行了测试,效果良好。此问题仅在使用Internet Explorer(版本11)时存在


有什么帮助吗?

我刚刚在IE11中测试过,过滤效果很好

从剑道UI故障排除:

问题:

对象不支持属性或方法“kendoGrid”(在Internet Explorer 9+中)

解决方案:

确保jQuery在页面中不包含多次。删除对jQuery的任何重复脚本引用。包括所有必需的剑道JavaScript文件


这与您的问题类似,因此我会检查所有javascript文件。

确保页面中有
Jquery-1.8.1.min.js
或更高版本的
Jquery
。因为
addBack
是在
1.8
中添加的

试着这样,

 @(Html.Kendo().Grid<SustIMS.Models.ConcessionModel>()
    .Name("datagrid_Concessions")
    .Columns(columns =>
    {
        columns.Bound(c => c.Code).Title("Code");
        columns.Bound(c => c.Description).Title("Description");
        columns.Bound(c => c.TrafficOpeningDate).Title("Traffic Opening Date");
        columns.Bound(c => c.CreationDate).Title("Creation Date");
    })
    .HtmlAttributes(new { style = "height: 534px;" })
    .Filterable() // here's the filterable option
    .Selectable()
    .Events(e => e.Change("onChange"))
    .Pageable(pageable => pageable
        .Refresh(true))
    .DataSource(dataSource => dataSource
        .Ajax()
        .PageSize(15)
        .Model(model =>     <--- Add this
         {
           model.Id(m => m.Id);
           model.Field(m => m.Code);
           model.Field(m => m.Description);
         })
        .Read(read => read.Action("GetConcessions", "MasterData"))
    )
    )
@(Html.Kendo().Grid())
.名称(“datagrid_特许经营权”)
.列(列=>
{
columns.Bound(c=>c.Code).Title(“Code”);
columns.Bound(c=>c.Description).Title(“Description”);
columns.Bound(c=>c.TrafficOpeningDate).Title(“交通开放日期”);
columns.Bound(c=>c.CreationDate).Title(“创建日期”);
})
.HtmlAttributes(新的{style=“height:534px;”})
.Filterable()//这里是Filterable选项
.可选()
.Events(e=>e.Change(“onChange”))
.Pageable(Pageable=>Pageable
.Refresh(true))
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(15)
.Model(Model=>m.Id);
model.Field(m=>m.Code);
model.Field(m=>m.Description);
})
.Read(Read=>Read.Action(“获取特许权”、“主数据”))
)
)

查看此演示:

谢谢您的回答。在发布我的问题之前,我显然已经研究了一段时间,我已经检查了重复的jQuery引用,并添加了
kendo.all.min.js
脚本文件,其中包括每个剑道控件:到目前为止没有运气。他问你是否多次引用jQuery,而不是剑道。查看您的
标记,确保您只加载了一个版本的jQuery.which
kendo.all.min.js
您使用的版本。@Jaimin,如何查看文件版本?剑道用户界面是
Kendo用户界面v2014.1.528
Create.Model',在
datasource
中,我想这就是为什么网格没有加载正确的过滤器操作符。@Jaimin,使用什么参数?另外,我正在看,我看不出我如何才能使我的工作我很抱歉,但不幸的是,这个问题仍然存在same@chiapa你能用
IE10
试试这个吗,因为它在我的
IE11
中工作得很好。是的,我想我会试试。与此同时,+1@chiapa让我知道它是否工作,而不是浏览器问题。@chiapa确保您的页面中有
Jquery-1.8.1.min.js
或更高版本的
Jquery
。因为
addBack
是在
1.8
中添加的。