質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.12%

jqueryのバージョンの件

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 1,780

お世話になります。
イタリックテキスト
Visual Studio 2017を使って、asp.net Webプログラムを開発しようとしています。
20年程前に、aspでプログラムを作ったことがあります。Accessデータベースを、Webプログラムで読み書き更新するプログラムでした。
その際に作ったプログラムを、今回asp.netで更新しようとしています。

こんなエラーが出て、Visual Studio 2017の修正に迷っています。

エラーは、
InvalidOperationException: WebForms UnobtrusiveValidationMode には、'jquery' の ScriptResourceMapping が必要です。jquery (大文字と小文字が区別されます) という名前の ScriptResourceMapping を追加してください。
というものです。

このエラーで、検索したところ、最新版のバージョン1.9.1をダウンロードして下さいとありました。

jqueryをインストールしようとして、http://jquery.com/にアクセスしましたが、そこにはバージョン1.9.1がなく、 Download jQuery v3.3.1がありました。

現在、Visual Studio 2017のScriptsには、jQuery v3.3.1が入っています。

検索した情報は、最終更新日が 2017-12-24となっておりましたが、この検索結果の回答では解決しないような気がしています。
迷っていますので、ご指導戴きたく、宜しくお願い致します。

もう一点ですが、jQuery v3.3.1をインストールするとして、3種類ほどあるようです。
Download the compressed, production jQuery 3.3.1
Download the uncompressed, development jQuery 3.3.1
Download the map file for jQuery 3.3.1
の3種類です。どれをインストールすれば良いのでしょか。

以上2点のご指導宜しくお願い致します。

 前提・実現したいこと

asp.net Webプログラムを開発しています。
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で
Visual Studio 2017のScriptsには、jQuery v3.3.1がインストールされています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
デバッグするとエラーが出ます。

 発生している問題・エラーメッセージ

InvalidOperationException: WebForms UnobtrusiveValidationMode には、'jquery' の ScriptResourceMapping が必要です。jquery (大文字と小文字が区別されます) という名前の ScriptResourceMapping を追加してください。

エラーメッセージ

 該当のソースコード

Language="C#"
ソースコード
<form id="Form_kanrisya_login" runat="server">
<div style="height: 160px">
<asp:Login ID="kanrisya_Login" runat="server" BackColor="#EFF3FB" BorderColor="#B5C7DE" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" DestinationPageUrl="~/kannrisya_Default.aspx" FailureText="ログインに失敗しました。ユーザー名・パスワードを確認して、やり直してください。" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#333333" LoginButtonText="管理者ログイン">
<InstructionTextStyle Font-Italic="True" ForeColor="Black" />
<LoginButtonStyle BackColor="White" BorderColor="#507CD1" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284E98" />
<TextBoxStyle Font-Size="0.8em" />
<TitleTextStyle BackColor="#507CD1" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />
</asp:Login>
<br />
ID・パスワード共に、半角・10桁以内の英数字

<br />
ID・パスワードとも、<br />
先に登録設定されているものをご利用下さい。
</div>
</form>

 試したこと

<asp:Login ID="kanrisya_Login" runat="server" BackColor="#EFF3FB" BorderColor="#B5C7DE" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" DestinationPageUrl="~/kannrisya_Default.aspx" FailureText="ログインに失敗しました。ユーザー名・パスワードを確認して、やり直してください。" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#333333" LoginButtonText="管理者ログイン">
<InstructionTextStyle Font-Italic="True" ForeColor="Black" />
<LoginButtonStyle BackColor="White" BorderColor="#507CD1" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284E98" />
<TextBoxStyle Font-Size="0.8em" />
<TitleTextStyle BackColor="#507CD1" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />
</asp:Login>
を削除するとデバックできる。
ここに問題に対して試したことを記載してください。
まだ対応していない。

 補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • SurferOnWww

    2018/09/15 07:33

    ASP.NET のタグを付けてください。jQuery というより ASP.NET の問題です。

    キャンセル

  • SurferOnWww

    2018/09/15 07:36 編集

    ソースは ``` と ``` で囲ってインデントされるように設定してください。開発環境(OS, .NET のバージョン、VS でプロジェクトを作るときにテンプレートに何を使ったかなど)を書いてください。

    キャンセル

回答 1

checkベストアンサー

+1

エラーメッセージは、「控えめな JavaScript」を使っての検証(ASP.NET 4.5 以降のデフォルト)に使用する jQuery.js が無いから、それがダウンロードされるようにスクリプトマッピングを追加しろと言ってます。

ASP.NET 4.5 以降の ASP.NET Web Forms アプリでは、クライアントスクリプトを利用するサーバーコントロールが正しく機能するために必要な .js ファイルがダウンロードされるようにいろいろ設定が必要です。

Visual Studio で Web Forms アプリのテンプレートを利用してプロジェクトの骨組みを自動生成させていると思いますが、そのテンプレートが[Web フォーム]か[空]かによって設定が異なります:

(1) [Web フォーム]の場合

今回の問題の jQuery.js を含めて必要なスクリプトマッピングは設定済みとなり、必要な設定がされた ScriptManager がマスターページに配置されるので、マスターページを利用すれば OK です。

詳しくは以下の記事を見てください。

ASP.NET 4.5 ScriptManager
http://surferonwww.info/BlogEngine/post/2018/04/23/aspnet-45-scriptmanager.aspx

マスターページを使用しない場合は、マスターページにある <Scripts> ~ </Scripts> の間のコードを含めた ScriptManager 全部をコピーして使ってください。

(2) [空]の場合

以下の記事を参考に、自力でスクリプトマッピングを行って、必要な設定がされた ScriptManager をページに配置して使ってください。

ASP.NET 4.5 スクリプト マッピング
http://surferonwww.info/BlogEngine/post/2018/04/24/aspnet-45-script-resource-mapping.aspx

その際の jQuery のバージョンですが、上の記事にありますように 3.3.1 で、自分が試した限りですが、問題なく動いています。ただし、100% 問題ないかは保証の限りではありませんのでご自分で十分検証してください。

注:ネットの記事で、web.config の appSettings の設定のよって「控えめな JavaScript」による検証を止めて旧来のものに戻すとか、クライアント側での検証を無効にするという解決策を目にしますが、それは決して好ましい解決法ではありません。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/09/17 10:01

    回答に対するコメントでも書きましたが、ソースは ``` と ``` で囲ってインデントされるように設定してください。

    開発環境(OS, .NET のバージョン、VS でプロジェクトを作るときにテンプレートに何を使ったかなど)を書いてください。実は .NET 4 以下とか言われると、上の回答は的外れになってしまいます。

    キャンセル

  • 2018/09/20 22:21

    開発環境 OSはWindows10Proで、IISを使っています。NETバージョンはNETFramework4.6.1だったと思いますが、記録してなかったので、判断出来ませんでした。テンプレートについても、記録がなく、ご案内のページやその他のページ等を読ませて戴き、ASPでプログラムを作った時に比較したら、ASP.NETには、格段の差がには、あることが分かりました。ASP.NETの本を読んで、理解した程度ではなかなか難しいもののようです。もう一度、開発環境等を記録しながら、再出発したいと思います。その上でエラーが出て質問し、解凍される方に尋ねられても答えられる環境を整えて参ります。ということで、今回の質問は、取り下げさせて戴きます。
    有り難うございました。
    ご案内戴いたページや関連ページを理解するのに時間が掛かり、返事が遅れて申し訳ありませんでした。

    キャンセル

  • 2018/10/01 21:09

    アドバイス有難うございました。
    やりたいことは、ASP.NET Identityで、進めて行けそうですので、このスレッドをクローズさせて戴きます。
    お世話様でした。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る