导航
  • 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ
  • 问答

我让Web页面继承了一个抽象类,结果Web窗体设计器就打不开了,说什么"类型错误",为什么?

zahuifan 2006-01-24 12:10:20
我先写了一个抽象类:

public abstract class ApplicationPage : Page
{
public abstract string errMsg
{
get;
set;
}

// ...


然后我让Web页面继承此抽象类:

public class Dengon_Page : ApplicationPage
{
public class Dengon_Page : ApplicationPage
{
// ...


public override string errMsg
{
get
{
return Message_SubPage1.errMsg;
}
set
{
Message_SubPage1.errMsg = value;
}
}


编译没有错误,运行起来也正常。但是在Visiual Studio 2003 里面打不开此页面,会弹出一个错误对话框:

“在 Web 窗体设计器中未能加载该文件。请更正下列错误,然后尝试重新加载:
类型抽象
确保在项目中生成或引用了页中使用的所有类。如需更多信息,请单击“帮助”。”

这是为什么呀?真气死我了。
...全文
170 点赞 收藏 14
写回复
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
jz630 2006-01-25
编译以后应该可以打开了吧?
回复
athossmth 2006-01-24
还是思归强
回复
RoninBlade 2006-01-24
我也碰到过类似的情况。好像并没有使用抽象类,提示说设定的错误,还问我下回是不是还是用这个设定,不管怎么选择,都打不开设计器。
还有一次,toolbox如果选择自动隐藏,就会自己打开关闭打开关闭忙个不停。
还好我是在虚拟机里面使用,两次都作了恢复工作。
回复
zzhtd 2006-01-24
先将程序编译通过然后在重新打开就ok
另外不要建立抽象类
回复
Dleno 2006-01-24
回复
saucer 2006-01-24
look at the workaround suggested by Terence Tirella:

http://blogs.msdn.com/rprabhu/archive/2004/12/12/280823.aspx
回复
gngnandgngn 2006-01-24
你并不一定要用设计器啊。。。
但再回头看看,你也并非一定要把自己那个基类设置成抽象类吧。。完全可以建一个一般的类啊,同样可以写虚函数,由子类覆盖的
回复
saucer 2006-01-24
因为设计器试图根据编码里form的类建立一个实例,但因为你的类是抽象类,无法生成一个实例
回复
shoucao 2006-01-24
顶一下

===================bbs.shoucao.cn========================

QQ群:13827630 ,论坛bbs.shoucao.cn更会有想不到的收获

幸运草为大家提供控件源码下载,开源项目收集。

===================bbs.shoucao.cn========================
回复
zahuifan 2006-01-24
谢谢 jiezhi(风满袖),200分送上。

不过我还是不明白为什么继承抽象类就不能使用Web窗体设计器.
回复
jiezhi 2006-01-24
建议你这样修改:
interface IErrMsg
{
public string errMsg
{
get;
set;
}
}


public class Dengon_Page : Page,IErrMsg
{
public string errMsg
{
get
{
return Message_SubPage1.errMsg;
}
set
{
Message_SubPage1.errMsg = value;
}
}

回复
nameone 2006-01-24
学习.
回复
zahuifan 2006-01-24
TO gngnandgngn(仗义执言):
是的,我的确可以用空的虚函数,不过如果设为抽象函数就可以强制子类必须重载此函数,免得忘了重载。

To saucer(思归) :
我的 class Dengon_Page 已经重载了父类所有的抽象函数,并不是一个抽象类。

200分只给能解决问题的人。
回复
mailxin 2006-01-24
见者有份,为什么要用抽象类呢??
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告