要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。

本文详细介绍了在使用VS2011进行Web开发时遇到的'WebForms UnobtrusiveValidationMode 需要“jquery” ScriptResourceMapping'错误的解决办法,包括两种方法:一是删除配置文件中的相关设置,二是新建scripts文件夹并添加jquery文件,同时在Global.asax中注册ScriptResourceMapping。

from:http://hi.baidu.com/wxk0248/item/512095fb32c629cb0dd1c8a3

 

VS2011使用验证控件出现“WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。

 

方法一:在webconfig中找到

    <appSettings>
      <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      <add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />
    </appSettings>

删除<add key="ValidationSettings:UnobtrusiveValidationMode" value="WebForms" />即可。

方法二:

      1.在网站根目录下新建一scripts文件夹,向里边添加jquery-1.7.2.min.js和jquery-1.7.2.js(可根据自己需要使用不同的版本),

      2.在根目录下添加全局应用程序类Global.asax文件,在Application_Start事件中添加如下代码:

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

参考资料:http://connect.microsoft.com/VisualStudio/feedback/details/735928/in-asp-net-web-application-visual-basic-the-requiredfieldvalidator-doest-work

注:参考资料中方法二中注册jquery的这段代码未明确指明放于Global.asax的什么位置,放于Application_Start事件中纯属个人尝试,如有错误望指正。

<think>好的,我现在需要帮用户解决在ASP.NET中添加名为jQueryScriptResourceMapping的问题,并且确保区分大小写。根据用户提供的引用,特别是引用5中的代码示例,看起来解决方法涉及到使用ScriptManager的ScriptResourceMapping.AddDefinition方法。 首先,我应该确认用户遇到的错误信息,如引用2和4提到的,是关于UnobtrusiveValidationMode需要jquery的映射。这说明问题可能出现在WebForms的非侵入式验证功能上,而该功能依赖jQuery的正确引入。 接下来,我需要回忆ASP.NET中ScriptResourceMapping的作用。ScriptResourceMapping用于注册客户端脚本资源,如JavaScript库,这样ASP.NET控件(如验证控件)可以自动引用这些资源。如果映射不存在,就会抛出错误。 用户强调区分大小写,所以关键点在于映射的名称必须完全匹配"jquery",包括小写。虽然代码示例中的键是"jquery",但用户的问题中提到“名为jQuery区分大小写)”,这里可能存在混淆。需要明确,根据错误信息,映射的名称应为小写的"jquery",因为错误提示中明确要求区分大小写,并且示例代码使用的是小写。因此,用户可能需要严格按照错误提示中的名称来添加,即使变量名可能习惯使用大写,但此处必须是小写。 然后,根据引用5中的代码,正确的做法是在Global.asax的Application_Start事件中添加映射。这一步很重要,因为应用程序启动时需要注册这些资源映射,确保整个应用生命周期内可用。 另外,需要注意jQuery文件的实际路径是否正确。用户需要将Path和DebugPath指向项目中jQuery文件的正确位置。如果路径错误,可能会导致脚本加载失败,进而引发其他错误。同时,CDN路径是可选的,但可以提升加载速度,如果使用CDN,需要确保链接有效且版本与本地一致。 可能用户的问题还在于是否在正确的地方添加了这段代码,比如是否在Global.asax中,是否有拼写错误,或者是否项目中没有包含jQuery文件。需要指导用户检查这些方面。 总结步骤应该是:在Global.asax中添加映射,使用正确的名称"jquery",确保路径正确,并处理应用程序启动事件。此外,提醒用户关于版本兼容性和文件路径的问题,以避免其他潜在错误。</think>### 分步解答:添加名为 jqueryScriptResourceMapping区分大小写) #### 1. **确认错误背景** 在 ASP.NET WebForms 项目中,使用非侵入式验证(UnobtrusiveValidationMode)时,系统需要依赖 jQuery 库。若未正确注册 `jquery` 的脚本映射,会触发以下错误: > *WebForms UnobtrusiveValidationMode 需要“jqueryScriptResourceMapping添加一个名为 jquery (区分大小写)ScriptResourceMapping*[^2][^4]。 #### 2. **操作步骤** ##### 2.1 修改 Global.asax 文件 在项目的 `Global.asax` 文件中,通过 `Application_Start` 事件注册脚本映射: ```csharp using System.Web.UI; protected void Application_Start(object sender, EventArgs e) { // 添加 jquery 脚本映射(名称必须小写) ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/scripts/jquery-3.6.0.min.js", // 本地压缩版路径 DebugPath = "~/scripts/jquery-3.6.0.js", // 本地调试版路径 CdnPath = "https://code.jquery.com/jquery-3.6.0.min.js", // CDN 压缩版 CdnDebugPath = "https://code.jquery.com/jquery-3.6.0.js" // CDN 调试版 }); } ``` ##### 2.2 关键注意事项 1. **名称严格匹配** 映射名称必须为 **`jquery`(全小写)**,与错误提示中的大小写完全一致[^2]。 2. **文件路径验证** - 确保 `~/scripts/` 目录下存在 jQuery 文件(如 `jquery-3.6.0.min.js`)。 - 若使用 CDN,需检查链接是否有效且版本与本地一致。 3. **版本兼容性** ASP.NET 非侵入式验证通常需要 **jQuery 1.7+**,建议使用较新版本(如 3.6.0)[^5]。 #### 3. **验证结果** 重新编译并运行项目,若控制台无错误且页面验证功能正常(如 RequiredFieldValidator),则表明映射添加成功。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值