visual studio 2010 "创建控件时出错"解决办法

本文探讨了ASP.NET基类中OnInit方法重写导致的设计视图加载错误问题,提供了两种有效的解决方案,并解释了错误产生的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网站建设中我们通常会将所有的页面继承自一个基类,这样方便对网站进行管理及一些通用方法的复用。但是如果基类里有 protected override void  OnInit(EventArgs e)  的重写时会导致web页面切换到设计视图时出现 “创建控件时出错”提示,无法正常加载控件为我们页面的调整带来麻烦。当然这个错误并不影响运行后的状态。

发生的原因:由于在OnInit中调用的自定义函数里,访问了与服务器相关的变量,如Request,Response,Session,Server等,因为在设计模式时,这些变量是不会存在的,因此进行调用就会引发异常,从而导致这个错误的发生。

 

解决方案1:

protected override void  OnInit(EventArgs e)       
{
    if(System.Web.HttpContext.Current != null)
       {
               ......
               base.OnInit(e);          
       }
}


解决方案2:

protected override void  OnInit(EventArgs e)       
{
    base.OnInit(e);
    if(!this.DesignMode)
    { ......
    }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值