Mat*_*wdy 9 asp.net-mvc jquery
我见过的很多代码都参考了这个:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Run Code Online (Sandbox Code Playgroud)
这很棒,而且它有效...如果包含"某事".我是否必须添加引用才能获得这些内容?使用NuGet?复制DLL?这是从哪里来的?
当我运行我的项目时,我获得了该资源的404.
Mar*_*age 11
您需要创建捆绑包.这通常在App_Start\BundleConfig.csASP.NET MVC 4项目的文件中完成.这一切都在捆绑和缩小中进行了解释.
在BundleConfig类中你需要这样的东西(这个方法应该执行Application_Start):
public static void RegisterBundles(BundleCollection bundles) {
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
// ... more registrations ...
}
Run Code Online (Sandbox Code Playgroud)
javascript源文件应存在于该Scripts文件夹中.上面链接的教程解释了如何在发布版本中捆绑缩小版本等.
仅供参考 - 我已经看过很多在MVC中使用Bundles的例子,但是大多数人忽略了这个程序集在System.Web.Optimization.dll中你可以通过添加Microsoft ASP.NET Web Optimization Framework包从NuGet获得这个.
是的,您必须在应用程序中注册捆绑包.
Global.asax.cs:
protected void Application_Start() {
AreaRegistration.RegisterAllAreas();
// Register the bundles
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Run Code Online (Sandbox Code Playgroud)
BundleConfig.cs:
public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*",
"~/Scripts/jquery.livequery.js",
"~/Scripts/jquery.numeric.js"
));
}
Run Code Online (Sandbox Code Playgroud)
因此,当您将此代码放在视图中时:
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
Run Code Online (Sandbox Code Playgroud)
它将呈现4个javascript文件.
更多:捆绑和缩小
| 归档时间: |
|
| 查看次数: |
12876 次 |
| 最近记录: |