5

希望你星期五过得愉快……好吧,这是我的问题:

我所有的 ASPX 页面都继承自一个名为 BasePage 的基类。BasePage 继承自:

System.Web.UI.Page

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

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

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

提前致谢!

4

1 回答 1

3

尽管什么是好的做法和不好的做法是非常主观的,但我必须说,尝试从控件的基类访问任何东西是不好的做法。一个基类应该包含与所有继承它的类相关的代码,你怎么知道你以后写的每个页面都会有这个控制?

解决您的问题的更好方法(我假设您的主菜单仅在一个地方有代码)是编写 aUserControl并且您将其包含在每个页面上。如果您需要对该控件执行特定操作,可以在UC's中执行此操作CodeBehind

于 2009-05-08T13:34:15.453 回答