3

Asp.Net MVC 3 から MVC 4 に移行したので、縮小を除いてすべてが Asp.Net MVC 4 で正常に動作します。

問題

バンドルは機能しますが、縮小化は機能しません

バンドル コード

public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(
                new Bundle("~/Bundles/Entity").Include(
                "~/Scripts/Module/*.js"));
        }

そして、以下に示すように script タグをレンダリングします: (これは正しく、問題ありません!)

例えば

 <script src="/Bundles/Entity?v=rXIO788liM9pg6AVW5wS7Fxv9LboBMZ5O4ajQRLgk7Y1"></script>

上記のコードが表示される場合、バンドル スクリプト参照が生成されます。これは、バンドルが正常に機能していることを意味しますが、クリックしてコンテンツを表示すると、JS コンテンツが縮小されていません。つまり、縮小が機能していないことを意味します。

問題がどこにあるのか、またはそれを解決する必要があることを誰か教えてください。

前もって感謝します!

4

1 に答える 1

1

まず、以下のようなスクリプトが追加されていることを確認してください

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
 "~/Scripts/jquery-1.7.1.min.js",
 "~/Scripts/jquery.validate.min.js",
 "~/Scripts/jquery.validate.unobtrusive.min.js"));

そして、上記のバンドルが以下に示すようにBundleConfigクラスで定義されていることを確認してください。

 public class BundleConfig
{
 public static void RegisterBundles(BundleCollection bundles)
 {


bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
 "~/Scripts/jquery-1.7.1.min.js",
 "~/Scripts/jquery.validate.min.js",
 "~/Scripts/jquery.validate.unobtrusive.min.js"));
 }
} 

「*」ワイルドカード文字は、同じディレクトリにあり、その名前と同じプレフィックスまたはサフィックスを持つファイルを組み合わせるために使用されます。「〜/ Script」ディレクトリに存在し、プレフィックスとして「jquery」を持つすべてのスクリプトファイルを追加するとします。次のようにバンドルを作成できます。

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

すべてのバンドルは、WebアプリケーションのGlobal.asaxファイルのApplication_Startイベントに登録されます。

protected void Application_Start()
{
 BundleConfig.RegisterBundles(BundleTable.Bundles);
 // code
}
于 2013-03-14T09:21:48.297 に答える