如何让用户控制部分类知道在基类中声明的控件?

Hel*_*ant 5 asp.net designer partial-classes base-class

我们是否必须做一些特殊的事情让ASP.NET部分类知道在我们的用户控件的基类中声明的控件?部分类继续为基类中的控件生成声明,这意味着基类中的控件被隐藏并且为空.

Lac*_*che 6

CodeFileBaseClass属性可以应用于@Page@Control声明,以使ASP.NET运行时了解基类中声明的任何控件.

MSDN描述如下:

指定页面的基类的类型名称及其关联的代码隐藏类.

此属性是可选的,但在使用时,CodeFile属性也必须存在.如果要实现共享方案,请在基类中定义公共字段(以及可选的关联事件)以引用网页中声明的控件,从而使用此属性.由于ASP.NET代码生成模型,如果您在不使用此属性的情况下在基类中定义字段,则在编译时将为网页中声明的控件生成新的成员定义(在单独的部分类存根中),并且你想要的场景不起作用.但是,如果使用CodeFileBaseClass属性将基类与页面相关联,并且使您的部分类(其名称分配给Inherits属性并且其源文件由CodeFile属性引用)继承自基类,则基类中的字段将能够在代码生成后引用页面上的控件.