我在一个具有特定设计缺陷的应用程序上工作,其中一些内容应该可以在应用程序的多个区域中访问,具体取决于用户可能拥有的角色。在过去,这导致开发人员将页面复制并粘贴到名称略有不同的不同位置,这最终导致当事情不同步时出现错误,而且感觉很糟糕。
我想尝试将(99%)公共代码抽象到它自己的类中,但是每个页面背后的代码都引用了页面上的各种控件。我似乎无法弄清楚如何引用 UserControl 类。
例如一个页面可能有
<%@ Register Src="~/uc/ResearchParamBar.ascx" TagName="ResearchParamBar" TagPrefix="uc1" %>
...
<uc1:ResearchParamBar ID="ResearchParamBar1" runat="server"/>
后面的代码会有
private void InitializeComponent()
{
// wire the event to the destination user control handler
ResearchParamBar1.SourcePageID = ObjectID;
...
}
用户控件定义如下
public partial class ResearchParamBar : BaseUserControl
我试图将构造函数中的 ResearchParamBar 传递给抽象类,但我不清楚如何引用该类。
找不到类型或命名空间名称“ResearchParamBar”(您是否缺少 using 指令或程序集引用?)
public abstract class SummaryBase : WRBasePage
{
public abstract string ObjectID
{
get;
}
//Cannot figure out how to reference ResearchParamBar
private ResearchParamBar ResearchParamBar1;
public SummaryBase(ResearchParamBar researchParamBar)
{
ResearchParamBar1 = researchParamBar;
}