在我的.ascx用戶控件中,我有一些ImageButton元素,當它們被點擊時,它們會動態創建,然後顯示Calendar元素將其添加到PlaceHolder。我有他們三個,該功能將生成每個日曆的ID從所點擊的ImageButton的ID創建。我正在嘗試爲每個創建的日曆動態添加一個SelectionChanged事件。將onSelectChanged事件添加到動態創建的日曆中
我在類的開頭聲明瞭一個空的對象日曆作爲全局變量。我實例化一個新的日曆對象onPageLoad,在點擊事件我添加ID,事件並將其添加到佔位符。
雖然SelectChange事件似乎不起作用。什麼不見了?
public partial class admin_CaptureDate : System.Web.UI.UserControl
{
protected Calendar DateCalendar;
protected void Page_Init(object sender, EventArgs e)
{
DateCalendar = new Calendar();
DateCalendar.ID = "DateCalendar";
DateCalendar.Width = 176;
DateCalendar.SelectionChanged += Calendar_SelChanged;
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ShowCalendar_Click(object sender, ImageClickEventArgs e)
{
ImageButton btnSender = (ImageButton)sender;
string Prefix = btnSender.ID.Substring(14);
Trace.Write("this is prefix " + Prefix);
this.FindControl(Prefix + "PlaceHolder").Controls.Add(DateCalendar);
}
protected void Calendar_SelChanged(object sender, EventArgs e)
{
Calendar SelectedCalendar = (Calendar)sender;
string SelectedDate = SelectedCalendar.SelectedDate.ToLongDateString();
Trace.Write("this is the selected date" + SelectedDate);
}
}
還不行,該事件未附連到日曆,還缺?
好的,我有三個ImageButton元素,每個元素都有一個單獨的onClick事件函數,它執行相同的操作,但創建具有不同ID的不同日曆。我說得對嗎? – user3523583
@ user3523583:所有按鈕都可以使用相同的點擊evnt處理程序,但如果您想擁有三個ID,則需要三個日曆。你也可以使用單個日曆,但是我不明白你爲什麼在按鈕單擊habdler中分配ID。你不能在事件處理程序中這樣做,因爲在頁面的生命週期中這太遲了。 –