Telerik和MVC3升级后出现一些错误

时间:2014-07-03 16:50:33

标签: c# jquery asp.net-mvc-3 asp.net-mvc-4 telerik

我将我的mvc3项目升级到mvc4以及Telerik 2013 Q3升级到2014年第一季度。 这是我的app_start> RegisterBundles

        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
             "~/Scripts/jquery.min.js"));

        bundles.Add(new ScriptBundle("~/bundles/kendo-web").Include(
                    "~/Scripts/kendo.web.min.js",
                    "~/Scripts/kendo.aspnetmvc.min.js",
                    "~/Scripts/kendo.timezones.min.js"));


        bundles.Add(new StyleBundle("~/Content/web/css").Include(
                    "~/Content/web/kendo.common.min.css",
                    "~/Content/web/kendo.rtl.min.css",
                    "~/Content/web/kendo.default.min.css"));

        bundles.IgnoreList.Clear();

它是我的Application_Start

 protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }

这是_Layout.cshtml

  <link href="@Url.Content("~/Content/site.css")" rel="stylesheet" type="text/css" />
  @Styles.Render("~/Content/web/css")
  @Styles.Render("~/Content/shared/css")

  @Scripts.Render("~/bundles/jquery")
  @Scripts.Render("~/bundles/kendo-web")

但是当我运行网站时出现此错误: 第{50}栏http://localhost:62089/Scripts/jquery.validate.min.js

第199行未处理的例外情况

0x800a138f - JavaScript运行时错误:无法获取属性&#39; call&#39;未定义或空引用

如果存在此异常的处理程序,则可以安全地继续该程序。

我将jquery.validation升级到最新版本,但仍然存在此错误。这个错误是什么?我升级了所有必需的依赖项。在IE11中有问题,在Firefox中我没有这个。

1 个答案:

答案 0 :(得分:0)

我无法使用jQuery 2.1.1和jQuery.Validation 1.13.0在全新的MVC 4项目中复制错误。

我注意到的一件事是 jquery.validate 不在您的代码中。

您能否确保将 jquery.validate 添加到捆绑包以及页面中?

<强> BundleConfig.cs

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                        "~/Scripts/jquery.unobtrusive*",
                        "~/Scripts/jquery.validate*"));

在您希望客户端验证的页面

@Scripts.Render("~/bundles/jqueryval")

最糟糕的情况是,您可以尝试将jquery migrate plugin包含在捆绑中:

  bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
              "~/Scripts/jquery-{version}.js",
              "~/Scripts/jquery-migrate-{version}.js"));