8

コードを実行すると、次のエラーが表示されます。

Unable to get value of the property 'unobtrusive': object is null or undefined

それは正常ですが、必要なすべての jquery を追加しています。

jquery.validate-vsdoc.js
jquery.validate.js
jquery.validate.min.js
jquery.validate.unobtrusive.js
jquery.validate.unobtrusive.min.js
jquery.unobtrusive-ajax.js
jquery.unobtrusive-ajax.min.js

これをメイン フォームにロードします。

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")

そして、私のバンドル構成は次のとおりです。

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
            "~/Scripts/jquery-{version}.js"));

bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
            "~/Scripts/jquery-ui-{version}.js"));

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

私は自分のScriptフォルダに関連するすべてのファイルを持っています。

このエラーが発生するのはなぜですか? ファイルを見る必要がある場合はコメントしてください。喜んで投稿します

編集:

スクリプトが読み込まれます (確認しました)。この行でエラーが発生します。

jQuery.validator.unobtrusive.prototype.parse.call(this, selector);

エラー:

SCRIPT5007: Unable to get value of the property 'unobtrusive': object is null or undefined 
4

5 に答える 5

9

問題が見つかりました。

スクリプト「〜/ Scripts / jquery ...」を追加する別の部分ビューがありました

そのため、メイン ビューにバンドルがあり、これは常にレンダリングされていたメニューの一部にありました。最後の 1 つだけが検討されていたようで、控えめなものはそこに追加されませんでした。部分ビューから削除し、メイン ビューに 1 つだけ残すことで解決しました。

推測していただきありがとうございます。

于 2013-06-07T15:14:11.547 に答える
4

私はこれを別の、より骨の折れる理由で手に入れました。私のページには jquery.validate.min.js の前に jquery.validate.unobtrusive.js がありました。

validate を validate.unobtrusive の上に移動するだけで問題が解決しました。

于 2016-05-18T13:56:22.640 に答える
-2

Code Junkie が言いたいのは、控えめな javacript 対応キーを web.config に追加したということです。

これを appSettings に追加する必要があります。

<appSettings>
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
于 2013-06-07T09:08:17.777 に答える