Asp.net 未捕获类型错误:对象#<;对象>;没有方法';防止违约';试图使用剑道UI路由器拦截导航时
我正在尝试使用剑道UI路由器拦截所有导航 这是我的路由器初始化和我的文档准备功能:Asp.net 未捕获类型错误:对象#<;对象>;没有方法';防止违约';试图使用剑道UI路由器拦截导航时,asp.net,kendo-ui,Asp.net,Kendo Ui,我正在尝试使用剑道UI路由器拦截所有导航 这是我的路由器初始化和我的文档准备功能: $(function () { router.start(); $("#button").kendoButton(); alert("document is ready."); }); var router = new kendo.Router(); router.bind("change", function (e) { console.log("change event:
$(function () {
router.start();
$("#button").kendoButton();
alert("document is ready.");
});
var router = new kendo.Router();
router.bind("change", function (e) {
console.log("change event: ", e.url);
e.preventDefault();
});
当我第一次导航到页面时,我得到了uncaughttypeerror,但是当我提供一个不同的散列片段,例如/#/foo
时,路由器会按预期工作,并阻止默认行为
我试过:
if(e.url != "/"){
e.preventDefault();
}
但这只是将问题转移到我的其他初始化上,(例如,$(“#按钮”)。我的document ready函数中的kendoButton();
现在会产生相同的未捕获类型错误
我在.cshtml中包含了相应的库,如下所示:
<link href="@Url.Content("~/Content/kendo/2013.2.918/kendo.common.min.css")" rel="stylesheet" type="text/css" />
<link href="@Url.Content("~/Content/kendo/2013.2.918/kendo.default.min.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/kendo/2013.2.918/jquery.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo/2013.2.918/kendo.all.min.js")"></script>
我做错了什么?这看起来像是kendoRouter的
start
或\urlChanged
方法(和/或文档)中的错误。请在绑定更改事件之前尝试调用router.start()
:
$(function () {
$("#button").kendoButton();
alert("document is ready.");
});
var router = new kendo.Router();
router.start();
router.bind("change", function (e) {
console.log("change event: ", e.url);
e.preventDefault();
});
我已更新到第三季度版本的Kendo UI for ASP.NET,错误不再传播到按钮初始化。但是,当我导航到默认路线时,错误仍然存在。我将尝试您所说的内容并让您知道。谢谢。