你有一點設計問題。您需要一些明確定義的父母/子女關係。這不是一個真正的Sitecore問題......如果您考慮如何在Sitecore之外解決這個問題,那麼正確的解決方案可能會很明顯。
首先,我將創建一個新的Sublayout,它明確引用UserControl1和UserControl2。我們將它稱爲ParentControl。然後將自定義事件添加到UserControl2。我們將調用該CustomButtonClick。 ParentControl然後訂閱該事件就像它會訂閱任何控制事件:
UserControl2.CustomButtonClick += new EventHandler(UserControl2_CustomClick);
然後在事件處理程序:
void UserControl2_CustomClick(object sender, EventArgs e)
{
UserControl1.GetLabelText();
}
使用ParentControl在演示文稿中詳細這一翻譯控制1和控制2,你的」重做。您現在已經通過ParentControl創建了這些控件之間的顯式關係,而不是您想要實現的隱含關係。你不能吃你的蛋糕,至少,不違反良好的設計原則。
它看起來像_not good_design。但是您可以嘗試使用外部存儲(如Page或Sitecore變量)。或者在UC2中創建一個自定義事件 - 在點擊按鈕時提高它。訂閱第二個控件到該事件,並在事件處理程序上做一些代碼... – KoViMa