Вот как я бы это сделал для вашей настройки.
Убедитесь, что вы установили пакет nuget Microsoft.AspNet.Web.Optimization.
Вот отредактированный BundleConfig
public static class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle("~/bundles/allcss")
.Include("~/plugins/fontawesome-free/css/all.min.css")
.Include("~/dist/css/adminlte.min.css"));
bundles.Add(new ScriptBundle("~/bundles/alljs")
.Include("~/plugins/jquery/jquery.min.js")
.Include("~/plugins/bootstrap/js/bootstrap.bundle.min.js")
.Include("~/dist/js/adminlte.js")
.Include("~/plugins/jquery-validation/jquery.validate.min.js")
.Include("~/dist/js/pages/dashboard3.js"));
}
}
global.asax
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
//other unrelated code
}
}
Соответствующие части _Layout.cshtml
Обратите внимание, что у вас нетпомещать вызовы Render в _layout.cshtml, но это стандартное место для большинства приложений.
@using System.Web.Optimization
<!DOCTYPE html>
<html>
<head>
@Styles.Render("~/bundles/allcss")
</head>
<body>
@Scripts.Render("~/bundles/alljs")
@RenderSection("scripts", required: false)
</body>
Полагаю, вам также необходимо поместить jquery.validate.unobtrusive.js после jquery.validate.js. Убедитесь, что вы добавили правильные настройки в ваш web.config
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<!--other settings-->
</appSettings>
См. Это для больше объяснений