WebForm常见错误之验证控件报错

目录

 

【问题描述】

【原因分析:】

【解决方案】

方案1:

方案2(推荐):

方案3:

方案4:


【问题描述】

当我们在开发过程中,有时候会遇到一些莫名其名的错误。

很多小伙伴看到这个问题,当时就蒙了。不知道该从哪里下手了!!!

原因分析:

一般这样的问题,就说明了开发人员在创建WebForm项目的时候选择的是空项目。如下图所示。

空项目创建好了后,里面非常的干净清爽。没有包含任何其他的依赖包。这也就导致了我们这种空项目中使用验证控件的时候报错。

因为应用程序中的验证控件需要依赖到jquery(现在的web应用程序哪个能离开jquery呢),而目前程序目录中并没有jquery文件,或者有jquery文件但是程序并不知道jquery文件存放的具体位置。因此,我们要做的就是让应用程序能够找到jquery源文件。

【解决方案】

方案1:

修改web.config文件中的配置,表示设置微软的验证框架模式none。也就是说它屏蔽了微软的ValidationSettings类库,底层需要jquery的支持。该配置是一个全局设置,它的配置信息会应用到所有的页面中。

<configuration>

  <appSettings>

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

  </appSettings>

      

……

</configuration>

方案2(推荐):

修改配置文件Global.asax。该方案也是全局的配置方案。具体操作如下图所示:

  1. 添加Global.asax

2. 引用命名空间usingSystem.Web.UI

3.  在类Global的Application_Start方法中添加如下代码:

 protected void Application_Start(object sender, EventArgs e)
        {
            //向应用程序指定依赖的jquery库,所在的文件路径
            ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/scripts/jquery.min", });
        }

4. 项目中添加对应的文件夹和文件

方案3:

在aspx页面的Page_Load方法中添加如下代码:

public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
        }
    }

方案4:

把文件AspNet.ScriptManager.jQuery.dll添加到项目的引用中。该方法可以消除错误,但是会导致验证控件不起作用。

AspNet.ScriptManager.jQuery.dll该文件我们可以先创建一个含有基本信息的webform项目,然后再该项目的bin文件夹中找到该文件,将其复制到自己的项目中并添加引用即可。

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值