我处理具有特定设计缺陷的应用程序,其中某些内容应该可以在应用程序的多个区域中访问,具体取决于用户可能具有的角色。在过去,这导致开发人员将页面复制并粘贴到名称略有不同的不同位置,这最终会导致错误,当事情变得不同步时,也感觉很难吃。
我想尝试将(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;
}