57

Visual Studio 2012で遊んでいて、空のASP.Net Webアプリケーションを作成しました。従来のバリデーターコントロールを新しいページに追加しようとすると、次のエラーが発生します。

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

それを修正するための手順は何ですか?

これは私のページのマークアップです:

<asp:Panel runat="server" ID="pnlUsername" GroupingText="Username settings">
    <div>
        <asp:Label ID="usernameLabel" Text="Please enter your username" runat="server" AssociatedControlID="username" />
    </div>
    <div>
        <asp:TextBox runat="server" ID="username" />
        <asp:RequiredFieldValidator ErrorMessage="The username is required" ControlToValidate="username" runat="server" Text=" - Required" />
    </div>
</asp:Panel>
4

12 に答える 12

58

ValidationSettings:UnobtrusiveValidationMode 値に関する多くの誤った情報があるようです。無効にするには、次の手順を実行する必要があります。

<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />

この機能を無効にするには、WebForms ではなく、None という単語を使用する必要があります。

于 2013-02-05T23:06:44.133 に答える
32

これは、MSConnectフォーラムからのMicrosoftの公式回答です。以下の関連テキストをコピーしています:-

.NET 4.5を対象とする場合、目立たない検証はデフォルトで有効になっています。jQueryを適切に登録するには、プロジェクトにjQueryがあり、Global.asaxに次のようなものが必要です。

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", 
    new ScriptResourceDefinition {
        Path = "~/scripts/jquery-1.4.1.min.js",
        DebugPath = "~/scripts/jquery-1.4.1.js",
        CdnPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.min.js",
        CdnDebugPath = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1.js"
    });

jQueryのバージョンを使用しているバージョンに置き換えます。

次の行を削除して、web.configでこの新機能を無効にすることもできます。

<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
于 2012-09-17T03:30:00.523 に答える
5

これにより、すべてのバリデータエラーが解決されました

 <appSettings>
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None"/>

エラーは消えなければなりません....

于 2015-04-28T21:08:01.287 に答える
3

以下のようMicrosoft.JScriptに、アプリケーションにへの参照を追加します。web.config

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="Microsoft.JScript, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
  <appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="none"/>
  </appSettings>
</configuration>
于 2013-12-02T16:41:03.033 に答える
2

プロジェクトに任意の JQuery ファイルをコピー & ペーストし、Global.asaxファイルを追加して以下のように変更するだけです。

プロジェクトに JQuery ファイルを貼り付けて、Global.asax ファイルに参照を追加するだけです。

protected void Application_Start(object sender, EventArgs e)
    {
        ScriptManager.ScriptResourceMapping.AddDefinition(
        "jquery",
        new ScriptResourceDefinition
        {
            Path = "~/jquery-1.10.2.js",
            DebugPath = "~/jquery-1.10.2.js",
            CdnPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js",
            CdnDebugPath = "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.10.2.js",
            CdnSupportsSecureConnection = true,
            LoadSuccessExpression = "jQuery"
        });
    }
于 2013-12-11T05:58:32.857 に答える
1

「構成ファイル」では、代わりに次の行:

<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />

この行で:

<compilation debug="true" targetFramework="4.0" />
<httpRuntime targetFramework="4.0" />

このエラーは、バージョン 4.0 のライブラリは "asp:RequiredFieldValidator" に属していますが、バージョン 4.5 のライブラリには存在しないため、自分でライブラリを追加する必要があるためです。

于 2016-08-28T11:01:30.500 に答える
0
<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />

この行は私のWebConfigになかったので、.Netバージョンを4.0にダウングレードすることでこれを簡単に解決しました:)

于 2012-11-16T11:30:39.183 に答える
0

Visual Studio 2012 の web.config で、targetFramework=4.5 を targetFramework=4.0 に変更します。

于 2013-09-01T02:34:26.230 に答える