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

前言

    最近在学习asp.net。通过学习《北大青鸟Asp.Net》,我算是对B/S开了一点窍。其实在自己按照老师的步骤做的时候出现了“要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。”这个问题。第一次的时候自己还是没有在意,后来在做的时候发现又出现了,看来很有必要总结一下。

问题

一、问题原因

核心点出现在“验证控件”上。

    VisualStudio 2012(或2013) WebForm 4.5 开发中,很多控件默认Enable了 Unobtrusive ValidationMode的属性,但并未对其进行赋值, (所谓Unobtrusive Validation,就是一种隐式的验证方式,和jquery的引用相关),Programmer必须手动对其进行设置。比如,在进行数据验证时使用的各种validator(今天使用的RequiredFieldValidator控件),以及进行authorization及authenication设置时,由于需要在前端调用jquery来进行身份验证,都默认Enable了 Unobtrusive ValidationMode。如果不对该属性进行配置,将会产生ERROR。

二、解决办法

    通过我的测试和百度,总结了一下三种方法:

方法一

在程序允许的情况下,在配置文件中,降低.Framework的版本,具体方法如下:

    <!--修改前-->  
<system.web>  
    <compilation debug="true" targetFramework="4.5" />  
<httpRuntime targetFramework="4.5" />     <!—将其删除-->  
</system.web>  

<!--修改后-->  
<system.web>  
    <compilation debug="true" targetFramework="4.0" />  
</system.web> 

方法二

更改Web.config配置文件设置Unobtrusive ValidationMode的类型,具体方法如下:

<!--修改前-->  
    <system.web>  
        <compilation debug="true" targetFramework="4.5" />  
    <httpRuntime targetFramework="4.5" />  
    </system.web>  

    <!--修改后-->  
    <system.web>  
        <compilation debug="true" targetFramework="4.5" />  
    <httpRuntime targetFramework="4.5" />  
    </system.web>  

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

方法三

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"
}); 

三、很好的总结

问题就是要总结

在Asp.Net的学习过程中,还真是有很所琐碎的小问题,真是是不断的总结,问题总结多了就是收货。我会努力的!

<think>好的,我现在需要帮用户解决在ASP.NET添加名为jQueryScriptResourceMapping的问题,并且确保区分大小写。根据用户提供的引用,特别是引用5中的代码示例,看起来解决方法涉及到使用ScriptManager的ScriptResourceMapping.AddDefinition方法。 首先,我应该确认用户遇到的错误信息,如引用2和4提到的,是关于UnobtrusiveValidationMode需要jquery的映射。这说明问题可能出现在WebForms的非侵入式验证功能上,而该功能依赖jQuery的正确引入。 接下来,我需要回忆ASP.NETScriptResourceMapping的作用。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),则表明映射添加成功。 --- ###
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你个佬六

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值