[英]C# - dynamically-loading-a-user-control-on-button-click
我遇到了這個問題中指定的幾乎相同的問題。 有人可以為此發布答案嗎? 這個問題沒有得到明確的答案。
在上述問題中,他正在將控件加載到第一個用戶控件中存在的占位符。 我的情況略有不同。 我的情況是我有一個aspx頁面,UserControl1和UserControl2。 從一開始,我就將UserControl1加載到Page。 然后,當用戶單擊UserControl1中的按鈕時,我需要卸載userControl1並將UserControl2加載到Page。
必須立即在頁面加載時注冊事件。 您的控件是在事件處理期間創建的,並且其事件未注冊。 看看: http : //msdn.microsoft.com/zh-cn/library/ms178472.aspx
您需要為UserControl1
創建一個自定義事件處理程序,並在單擊按鈕時將事件冒泡到頁面。
為UserControl1
創建一個自定義事件處理程序:
public event EventHandler UpdateButtonClick;
public void OnUpdateButtonClick(EventArgs e)
{
if (UpdateButtonClick!= null)
UpdateButtonClick(this, e);
}
為UserControl1
分配事件處理程序:
<uc:UserControl1 ID="UserControl1" runat="server"
OnUpdateButtonClick="UserControl1_UpdateButtonClick" ... />
在后面的代碼中處理事件:
protected void UserControl1_UpdateButtonClick(object sender, EventArgs e)
{
UserControl1.Visible = false;
UserControl2.Visible = true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.