3

我使用包管理器控制台安装了这两个包:foolproof & MvcExtentions.Foolproof。我在我的包配置中包含了万无一失的脚本文件(见下文)。

请注意,我还没有实现任何万无一失的代码,我只安装了 pacakges 并包含了脚本文件,然后运行了应用程序。

我收到以下客户端错误:

MvcFoolproofValidation.js: Uncaught ReferenceError: Sys is not defined

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
     "~/Scripts/jquery-{version}.js",
     "~/Scripts/jquery-ui-{version}.js",
     "~/Scripts/jquery.unobtrusive*",
     "~/Scripts/jquery.validate*",
     "~/Scripts/MvcFoolproofJQueryValidation.js",
     "~/Scripts/mvcfoolproof.unobtrusive.js",
     "~/Scripts/MvcFoolproofValidation.js"));

呈现为:(如果有任何后果)

<script src="/Scripts/jquery-1.10.2.js"></script>
<script src="/Scripts/jquery-ui-1.10.3.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/MvcFoolproofJQueryValidation.js"></script>
<script src="/Scripts/mvcfoolproof.unobtrusive.js"></script>
<script src="/Scripts/MvcFoolproofValidation.js"></script>
4

2 回答 2

4

问题是因为顺序不正确。我有同样的问题,但我解决了这个顺序:

捆绑:

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

bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
    "~/Scripts/bootstrap.js",
    "~/Scripts/respond.js",
    "~/Scripts/jquery.validate.min.js",
    "~/Scripts/jquery.validate.unobtrusive.min.js",
    "~/Scripts/blur.js"));

bundles.Add(new ScriptBundle("~/bundles/mvcfoolproof").Include(
    "~/Scripts/MicrosoftAjax.js",
    "~/Scripts/MicrosoftMvcAjax.js",
    "~/Scripts/MicrosoftMvcValidation.js",
    "~/Scripts/MvcFoolproofJQueryValidation.min.js",
    "~/Scripts/MvcFoolproofValidation.min.js",
    "~/Scripts/mvcfoolproof.unobtrusive.min.js"));

风景:

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

渲染:

 <script src="/Scripts/jquery-ui-1.11.1.js"></script>
 <script src="/Scripts/jquery.validate.js"></script>
 <script src="/Scripts/jquery.validate.unobtrusive.js"></script>
 <script src="/Scripts/MicrosoftAjax.js"></script>
 <script src="/Scripts/MicrosoftMvcAjax.js"></script>
 <script src="/Scripts/MicrosoftMvcValidation.js"></script>
 <script src="/Scripts/MvcFoolproofJQueryValidation.min.js"></script>
 <script src="/Scripts/MvcFoolproofValidation.min.js"></script>
 <script src="/Scripts/mvcfoolproof.unobtrusive.min.js"></script>

而且......问题已经消失了。

请参阅文档以在此处检查此订单。

于 2014-09-10T21:26:16.217 回答
1

你没有加载所有 3 个脚本是吗?你只应该加载:

mvcfoolproof.unobtrusive.js 与(MvcFoolproofJQueryValidation.js 或 MvcFoolproofValidation.js)

如果要加载所有 3 个脚本,是否可以停止加载 MvcFoolproofValidation.js 脚本。

如果你只是使用 mvcfoolproof.unobtrusive.js 和 MvcFoolproofValidation.js,你可以换成 mvcfoolproof.unobtrusive.js 和 MvcFoolproofJQueryValidation.js

于 2017-03-08T18:17:57.350 回答