コード ビハインドのいくつかの抽象プロパティを除いて、ほぼ同じ一連の ASP.NET ページがあります。
各ページ (/default.aspx) には、ユーザー コントロールが含まれています。
<UI:SingleRaterControl runat="server" />
以前は、さまざまなコード ビハインドは、本質的に同じもののコピー アンド ペーストでした。/default.aspx.cs の各バージョンには、ユーザー コントロールを保持する保護されたプロパティがありました。
public class _default: SingleRaterBase
{
protected SingleRaterControl singleRaterControl;
...
}
維持しなければならないコードの量を減らすために、_default クラスのすべての共通コードを保持する EProfileDefault という抽象クラスを作成しました (各 _default クラスは異なる名前空間にあります)。
だから今私は持っています
public abstract class EProfileDefault: SingleRaterBase
{
protected SingleRaterControl singleRaterControl;
...
}
各 _default クラスには
public class _default : EProfileDefault
{
...
}
ただし、SingleRaterControl はコード ビハインドに自動的に割り当てられなくなりました。
これは、ASP.NET マジックが (この記事で提案されているように) 同じ名前である限り、コード ビハインド クラスの直接のインスタンスにのみユーザー コントロールを自動的に割り当てるためでしょうか?
もしそうなら、手動でユーザーコントロールを見つけて割り当てることは可能ですか?