2013-02-19 5 views
9

たくさん:素晴らしいですし、それが動作する...「何か」が含まれている場合ASP.Net MVC 4つのバンドル私が参照にこれを見ているコードの

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

。これらを取得するための参照を追加する必要がありますか? NuGetを使用しますか? DLLをコピーしますか?これはどこから来たのですか?

プロジェクトを実行すると、そのリソースに対して404が取得されます。

答えて

11

バンドルを作成する必要があります。これは、ASP.NET MVC 4プロジェクトのApp_Start\BundleConfig.csファイルでよく行われます。それはすべてBundling and Minificationで説明されています。

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 ... 
} 

はずがScriptsフォルダに存在するjavascriptのソースファイル:あなたがこの(この方法はApplication_Startで実行する必要があります)ようなものが必要BundleConfigクラスで

。上にリンクされているチュートリアルでは、リリースビルドでどのようにミニバージョンがバンドルされているかを説明しています。

+0

「System.Web.Optimization」への参照は、クラスを作成した直後に 'BundleConfig.cs'内に追加しなければならないと述べました。 – Dayan

0

プロジェクトでは、App_Start/BundleConfig.csがすべてのバンドルの宣言です。 この考えてみましょう:あなたは「〜/バンドル/ jqueryval」を参照している場合、それはあなたのために2つの列挙されたスクリプトが含まれます、そしてあなたがあなたのプロジェクトを実行するとボーナスとして、それは(それらを縮小化されます。この場合

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

を「リリース」モード)。

詳しくはthisをご覧ください。

7

はい、アプリケーションにバンドルを登録する必要があります。

Global.asax.cs:

 protected void Application_Start() { 

     AreaRegistration.RegisterAllAreas(); 

      // Register the bundles 
      BundleConfig.RegisterBundles(BundleTable.Bundles); 
     } 

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" 
         ));    
     } 

だから、あなたはあなたのビューでこのコードを配置:

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

それは4 JavaScriptをレンダリングしますファイル。

より:FYI Bundling and Minification

9

- 私はMVCでバンドルを使用しての多くの例を見てきましたが、ほとんど無視は、このためのアセンブリがSystem.Web.Optimization.dllであり、あなたはNuGetからこれを得ることができることを言及しますMicrosoft ASP.NET Web最適化フレームワークパッケージを追加します。

+1

新しく作成されたMVC 4アプリケーションには、すでにSystem.Web.Optimization.dllへの参照が含まれています。 –

0
  1. App_Startフォルダに移動します。
  2. Opoen BundleConfig.cs
  3. RegisterBundlesメソッドの中で、次のものがあるかどうかを確認してください。
 

bundles.Add(new ScriptBundle("~bundles/jqueryval").Include("~/Scripts/jquery.min.js")); 
 

含める方法の内側に、それはあなたのプロジェクト内のファイルを含めているではないことをしてください。

関連する問題