在网站建设中我们通常会将所有的页面继承自一个基类,这样方便对网站进行管理及一些通用方法的复用。但是如果基类里有 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)
{ ......
}
}
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2010anzhuangwenti/2020/0724/2236.html