【问题标题】:Telerik and MVC3 some errors after upgradeTelerik 和 MVC3 升级后出现一些错误
【发布时间】:2014-08-24 21:51:58
【问题描述】:

我将我的 mvc3 项目升级到 mvc4,还将 Telerik 2013 Q3 升级到 2014 Q1。 这是我的 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")

但是当我运行网站时,我得到了这个错误: http://localhost:62089/Scripts/jquery.validate.min.js 中第 50 行第 199 列未处理的异常

0x800a138f - JavaScript 运行时错误:无法获取未定义或空引用的属性“调用”

如果有这个异常的处理程序,程序可以安全地继续。

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

【问题讨论】:

  • 请阅读问题。我提到了这一点:bold我将 jquery.validation 升级到最新版本,但这个错误仍然存​​在。**bold**
  • 我们需要 jqueryjquery.validate.min.js 两个版本,因为有些 jquery 与 jquery.validate 不兼容。否则,我不会浪费时间问你。 Error in jquery.validate.js in MVC 4 Project with jQuery 1.9
  • jquery 2.1.1 和 jquery.validation 1.13.0

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


【解决方案1】:

我无法使用 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"));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 2019-03-07
    • 2020-01-19
    • 2019-05-21
    • 2021-01-18
    • 2014-10-06
    相关资源
    最近更新 更多