从页面基类中查找页面中的控件

希望你有一个美好的星期五和东西…好吧,所以这是我的问题:

我的所有ASPX页都inheritance自一个名为BasePage的基类。 BasePageinheritance自:

System.Web.UI.Page 

现在,如何从我的页面基页访问/设置我的aspx页面中的控件? 我试过这个:

 HyperLink hypMainMenu = (HyperLink)Page.FindControl("hypMainMenu"); hypMainMenu.NavigateUrl = AppConfiguration.AppSettings.Urls.MainMenu; 

但是hypMainMenu总是空的 – 我找不到那个混蛋。 有任何想法吗? 或者这是一种不好的做法,有人可以推荐一种更好的方法吗?

提前致谢!

虽然什么是好的和不好的做法是非常主观的,但我必须说尝试从它的基类控件中访问任何东西都是不好的做法。 基类应该包含与将inheritance它的所有类相关的代码,以及您如何知道将来编写的每个页面都具有此控件?

解决问题的一种更好的方法(我假设只在一个地方有主菜单的代码)就是编写一个UserControl并将其包含在每一页上。 如果您需要使用该控件执行特定操作,可以在UCCodeBehind