0

当我使用 KendoUI Grid 的过滤器时,发生了一些非常奇怪的事情。我的网格很简单,定义是这样的:

    var cols = [];

    cols[0] = { field: 'name', title: 'Nome', width: "65%" };
    cols[1] = { field: 'eMail', title: 'eMail', width: "20%" };
    cols[2] = { field: 'city', title: 'Cidade', width: "15%" };

    var cfgGrid = { dataSource: dsPersons, 
                    batch: false, 
                    change: onSelectedRow,
                    selectable: "row", 
                    resizable: true, 
                    scrollable: true, 
                    sortable: { mode: 'multiple', allowUnsort: true }, 
                    filterable: true, 
                    editable: false, 
                    pageable: { numeric: false }, 
                    columns: cols };

    gridPessoas = null;
    gridPessoas = $("#gridElem").kendoGrid(cfgGrid).data("kendoGrid");

网格在 url 中正确显示:

http://myLocalhost.com:50409/#/personsView

但是当我尝试过滤任何列时 kendoUI 重定向到一个页面:

http://myLocalhost.com:50409/undefined

网格没问题,只有在我定义过滤器值并单击过滤器按钮时才会出现错误。

这是一个 ASP.NET MVC 4 站点。我无法想象发生了什么。

你能帮助我吗 ???

提前致谢

4

1 回答 1

1

我发现了这个问题。

我正在使用 Sammy,这是一个允许我们定义路线的 JavaScript 框架,并且每次定义新位置时,Sammy 都会将 window.location 设置为新位置。

我刚开始和 Sammy 合作,所以我不能给你更多细节。但是当我选择一个 KendoUI 过滤器时,Sammy 的“setLocation”方法被调用,新位置等于“未定义?”。

我不知道为什么 KendoUI 会导致这种行为,但这是真正的问题。

于 2012-12-12T11:16:03.523 回答