5

最新の MVC フレームワークとバンドルを使用しています。

MVC が作成するデフォルトの「jqueryval」バンドルが原因で JavaScript エラーが発生する

私のページのスクリプトは次のように出力されます

<!-- In head -->
<script src="/Scripts/modernizr-2.6.2.js"></script>
<script src="/Scripts/jquery-2.0.2.js"></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="/Content/Misc.js"></script>


<!-- Bottom of doc -->
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

私のバンドル:

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

何がうまくいかないのですか?

4

2 に答える 2

8

バンドルでは、通常は機能するjquery.validate*とを含めるように設定します。jquery.unobtrusive*しかし、出力を見ると、そこにあるはずのすべてのファイルがあるわけではありません。ポイントは、含めるjquery.unobtrusive.validate必要jquery.validateがあることです (ご覧のとおり、出力では含まれていません)。どうやら、ファイルは実際にはプロジェクトで使用できないため、バンドラーによって検出されません。バンドラーがそれらを見つけて出力できるように、プロジェクトに必要なすべてのファイルがあることを確認してください。

于 2013-07-12T14:28:03.607 に答える
0

ワイルドカードを完全なjsスクリプト名に置き換えるとうまくいくことがわかりました。

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
            "~/Scripts/jquery.validate.min.js",
            "~/Scripts/jquery.validate.unobtrusive.min.js"
            ));
于 2016-11-01T01:13:36.017 に答える