少しデザインに問題があります。ここでは、明示的に定義された親子関係が必要です。これは実際には Sitecore の問題ではありません... Sitecore の外でこれをどのように解決するかを考えれば、適切な解決策はおそらく明らかです。
まず、UserControl1 と UserControl2 を明示的に参照する新しいサブレイアウトを作成します。これを ParentControl と呼びます。次に、カスタム イベントを UserControl2 に追加します。これを CustomButtonClick と呼びます。その後、ParentControl は、任意のコントロール イベントをサブスクライブするのと同じように、そのイベントをサブスクライブします。
UserControl2.CustomButtonClick += new EventHandler(UserControl2_CustomClick);
次に、イベント ハンドラーで次のようにします。
void UserControl2_CustomClick(object sender, EventArgs e)
{
UserControl1.GetLabelText();
}
Control1 と Control2 の代わりに、Presentation Details で ParentControl を使用すれば完了です。これで、実現しようとしていた暗黙の関係ではなく、(ParentControl を介して) これらのコントロール間に明示的な関係が作成されました。ケーキを持って食べることはできません... 少なくとも、優れた設計原則に違反することはありません。