c# - 从页面基类查找页面中的控件

标签 c# asp.net inheritance hyperlink findcontrol

希望你周五过得愉快等等......好吧,这是我的问题:

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

System.Web.UI.Page

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

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

但是 hypMainMenu 始终为空 - 我找不到那个 SCSS 。有任何想法吗?或者这是不好的做法,有人可以推荐更好的方法吗?

提前致谢!

最佳答案

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

解决问题的更好方法(我假设只有一个地方有主菜单的代码)是编写一个 UserControl 并将其包含在每个页面上。如果您需要对该控件做一些特定的事情,您可以在 UCCodeBehind 中完成。

关于c# - 从页面基类查找页面中的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/839794/

相关文章:

asp.net - 如何在 ASP.NET MVC 中存储信息 "per browser tab"?

c++ - 当 C++ 中没有多态时如何传递像多态这样的结构

c# - 在 Window Phone 8.1 中从服务器收到原始推送通知后执行某些功能

c# - Quartz.Net 依赖注入(inject) .Net Core

javascript - ASP.NET MVC 序列化数据到 morris 面积图

java - 如果一个类继承了一个方法,那么在该类上调用该方法是否指向父类(super class),或者是否在子类中创建本地副本?

c++ - 使用 using 关键字继承构造函数时的意外行为

c# - 从 UTF8 到 ASCII 的转换

asp.net - LINQ to SQL - 字段包含在已知字符串中

javascript - 如何在 aspx 页面加载时获取文本框值