SharePoint 内のページ レイアウトに埋め込む必要があるカスタム Web コントロールを作成しました。基本的に、ページ レイアウトは内部に Web フォームを含むページでのみ使用され、コントロールは一種のナビゲーション メニューとして機能し、フォーム ページの進行状況を追跡します。
これで、コントロールは常に 1 回だけ宣言され、フォーム ページからアクセスできる必要があることがわかりました。フォーム ページ内から親のコントロール コレクションを検索する代わりに、これを行いました。
public static QuickNavigation Self
{
get
{
return System.Web.HttpContext.Current.Items["QuickNavigation"] as QuickNavigation;
}
private set
{
System.Web.HttpContext.Current.Items["QuickNavigation"] = value;
}
}
public QuickNavigation()
{
Self = this;
}
フォーム ページからコントロール インスタンスにアクセスするには、クラスの唯一の静的プロパティを呼び出します。それについてどう思いますか、より良い習慣はありますか?