希望你有一个愉快的星期五和东西......好吧,所以这是我的问题:
我的所有ASPX页面都从名为BasePage的基类继承。 BasePage继承自:
System.Web.UI.Page
现在,如何从我的页面基页访问/设置我的aspx页面中的控件?我试过这个:
HyperLink hypMainMenu = (HyperLink)Page.FindControl("hypMainMenu");
hypMainMenu.NavigateUrl = AppConfiguration.AppSettings.Urls.MainMenu;
但是hypMainMenu总是空的 - 我找不到这个混蛋。有任何想法吗?或者这是一种不好的做法,有人可以推荐一种更好的方法吗?
提前致谢!
答案 0 :(得分:3)
尽管什么是好的做法并且不是很好的做法是非常主观的,但我必须说尝试从它的基类控件中访问任何是不好的做法。基类应仅包含与将继承它的所有类相关的代码,以及您如何知道将来编写的每个页面都具有此控件?
解决问题的一种更好的方法(我假设只在一个地方拥有主菜单的代码)就是写一个UserControl
,并将其包含在每个页面上。如果您需要针对该控件执行某些操作,可以在UC
的{{1}}中执行此操作。