-4
case "Calendar":
    ctrl = new Calendar();
    ((Calendar)ctrl).ID = GetControlId(index, itemDetails);
    ((Calendar)ctrl).Attributes.Add("class", "chkClass" + parentIndex.ToString());

     if (itemDetails.AttachEvent == true)
     {
         ((Calendar)ctrl).SelectedDate += new EventHandler(Item_Selected);
         ((Calendar)ctrl).AutoPostBack = true;
     }
     break;

此行发生错误:

((Calendar)ctrl).SelectedDate += new EventHandler(Item_Selected);

任何人都可以帮忙吗?

4

3 回答 3

1

您不能将事件处理程序注册到属性。您可以将处理程序注册到事件;

((Calendar)ctrl).SelectionChanged+= new EventHandler(Item_Selected);
于 2012-12-07T12:40:05.957 回答
0

SelectedDate 是一个属性,您不能为其分配事件处理程序,它保存日历的选定日期的值。

当您尝试处理事件时,我相信您想将处理程序添加到SelectionChanged

我假设它是 ASP.NET(由于 AutoPostBack 属性),这将是 WinForms 中的不同事件

于 2012-12-07T12:39:39.490 回答
0

SelectedDate是一个属性,它是代表所选日期的 System.DateTime。您应该使用SelectionChanged 事件

((Calendar)ctrl).SelectionChanged += new EventHandler(Item_Selected);
于 2012-12-07T12:41:51.663 回答