我有一個簡單的測試自定義控件,我已經創建並試圖找出爲什麼點擊事件不會觸發。下面是代碼。我簡單地試圖觸發一個ASP.NET自定義控件按鈕事件
的Page_Load消耗控制 保護無效的Page_Load(對象發件人,EventArgs的){ Page.Form.Controls.Add(系統testControl新.aspx頁面中的創建一個測試頁面上的控件的實例()); }
該頁面進行回發,但不會在用戶控件中選取點擊事件。請解釋我在做什麼錯誤,或有更好的方式與特定的模式來處理這等
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI;
namespace WorldOfTest
{
公共系統testControl類:WebControl的 { 個人按鈕BTN;
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
}
protected override void EnsureChildControls()
{
btn = new Button();
this.Controls.Add(btn);
base.EnsureChildControls();
}
protected override void CreateChildControls()
{
btn.Click += new EventHandler(btn_Click);
btn.Text = "test button";
base.CreateChildControls();
}
void btn_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
btn.RenderControl(writer); ;
}
}
}
感謝你的幫助
當形式的生命週期要補充控制到集合? – 2011-04-09 13:34:31
當我將控件添加到表單中時,我將它添加到PageLoad中,我也嘗試了PreRender,但是這並沒有解決問題。 – TampaRich 2011-04-09 14:37:39
你有沒有嘗試過1)在生命週期的早些時候添加它2)給它一個ID? – 2011-04-10 14:18:00