Boa*_*ace 5 c# asp.net custom-controls
好吧,我正在构建一个自定义控件,它会生成许多日历(日历是自定义的,不属于任何库的一部分),当单击日历上的日期时,它会在面板中填充一种日程安排器。现在,到目前为止一切都有效。单击日程安排中的一个小时时,会出现我遇到的问题。将弹出一个 div 形式的窗口,该窗口创建一个带有取消和提交按钮的表单。单击这些按钮中的任何一个时,都会触发自定义事件,该事件将重新初始化日程计划程序。我已经为日程安排器创建了一个自定义事件,但我不断收到错误
“在 DataBind、Init、Load、PreRender 或 Unload 阶段无法修改控件集合。”
以下为参考来源。
私人DayView CreateDayPanner(控制容器,DateTime日期,int dayNum){container.Controls.Clear();
var dv = new DayView(date.Date.AddDays(dayNum))
{
Identifier = dayNum,
LogoPath = "../imgs/dialogueLogo.png",
fieldClasses = "eDialogue_cls",
InnerDCls = "innerD_cls",
FsCCls = "fsContainer_cls",
LegCCls = "legContainer_cls"
};
dv.Submitted += Dv_Submitted;
dv.Canceled += Dv_Canceled;**
return dv;
}
Run Code Online (Sandbox Code Playgroud)
DayView 类型具有以下委托和处理程序:
public delegate void CancelEventHandler(object source, DayViewEventArgs args);
public delegate void SubmitEventHandler(object source, DayViewEventArgs args);
public event CancelEventHandler Canceled;
public event SubmitEventHandler Submitted;
public void RaisePostBackEvent(string eventArgument)
{
OnSubmitted(StartDate);
OnCancelled(StartDate);
}
Run Code Online (Sandbox Code Playgroud)
最后在 DayView 类型上触发事件,如下所示:
取消按钮:cancel.Attributes.Add(HtmlTextWriterAttribute.Href.ToString(), csm.GetPostBackClientHyperlink(this, StartDate.ToShortDateString()));
提交按钮:
submit.Attributes.Add(HtmlTextWriterAttribute.Href.ToString(), csm.GetPostBackClientHyperlink(this, StartDate.ToShortDateString()));
Run Code Online (Sandbox Code Playgroud)
我不知道是什么导致了这个错误。任何建议将不胜感激。
| 归档时间: |
|
| 查看次数: |
2160 次 |
| 最近记录: |