请注意,在您的 BundleConfig 中包含
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/validate")
.Include(
"~/Scripts/jquery.unobtrusive*",
));
我认为应该是
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/validate")
.Include(
"~/Scripts/jquery.validate.unobtrusive*",
));
您还缺少此文件(我在解决方案资源管理器中看不到它):
"~/Scripts/jquery.validate.js",
这些都是 需要的文件在正确的 顺序 用于 jquery 不显眼的引导验证。仔细检查您是否将它们放在正确的位置。
<script src="jquery-1.10.2.min.js"></script>
<script src="bootstrap.min.js"></script>
<script src="jquery.validate.min.js"></script>
<script src="jquery.validate.unobtrusive.min.js"></script>
<script src="jquery.validate.unobtrusive.bootstrap.min.js"></script>
尝试更改您的 BundleConfig 并以正确的顺序包含所有文件,避免使用通配符({version} 和 *),尝试是否可行。然后进行实验并尝试正确使用通配符。我的项目中有类似的东西:
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/jquery")
.Include(
"~/Scripts/jquery-2.1.1.min.js"
));
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/ui")
.Include(
"~/Scripts/bootstrap.min.js"
));
BundleTable.Bundles.Add(new ScriptBundle("~/bundles/validate")
.Include(
"~/Scripts/jquery.validate.min.js",
"~/Scripts/jquery.validate.unobtrusive.min.js",
"~/Scripts/jquery.validate.unobtrusive.bootstrap.min.js"
));