我不知道这是否与FindControl的工作方式或作用域如何工作。但是我的基础班很难看到儿童班的各个领域。目前我计划派生类在基类中设置一个属性,但有很多派生类,所以这不是一个非常有吸引力的解决方案。基类可以查看派生类的受保护字段吗?
public class BasePage:Page
{
public void DoSomethingWithDerivedPageControl()
{
//foo is always null.
Control foo = FindControl("Foo");
}
}
public class DerivedPage : BasePage
{
//In real life, this is the code generated .aspx.designer.cs file.
protected Label Foo;
}
啊!你让我走在正确的轨道上。它在Table控件的控件集合中。我不得不做一个递归搜索来找到它。无法将其移动到基类,因为它是嵌入在每个页面上略有不同表格中的标签。 – MatthewMartin 2010-08-11 18:47:31