我有一个Multiview控件,在Views中,我有带有ajaxcontrol kit扩展程序的控件。
我正在尝试通过以下方式在Page_Load中动态设置多视图:
MultiView1.SetActiveView(ViewWeek11);
但是当我这样做时,我会得到:
扩展程序控件“ CalendarExtender_Date”不是已注册的扩展程序 控制。扩展程序控件必须使用 在调用RegisterScriptDescriptors()之前先注册RegisterExtenderControl()。
我已经读过很多关于这个问题的帖子,看来我必须使用
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
}
并在其中注册控件,但我无法找到一个示例,说实话我不明白,我不知道该怎么做,有人可以给我一个例子吗?
答案 0 :(得分:0)
扩展程序控件“ X”不是已注册的扩展程序控件
这是已经在DevExpress支持中心注册的问题,下面是DevExpress团队描述解决方案的详细信息。
此问题是由AjaxControlToolkit控件的细节引起的 在PreRender事件处理程序中注册资源。这个事件是 处理通过发起的回调请求时未引发 ICallbackEventHandler例程(例如在DevExpress中实现的例程 ASP.NET控件)。请参阅K18387:回调概念KB文章 详细说明。结果,发生上述错误。
要解决此问题,请执行以下任一方法:
- 将AjaxControlToolkit扩展器替换为相应的 DevExpress ASP.NET对应版本。请咨询支持团队以找到适当的类似物;
- 通过将EnableCallBacks属性设置为False(如果此控件提供了这样的属性)来为使用的DevExpress ASP.NET控件禁用回调模式。有关此信息,请参见EditForm模板示例中的“使用AJAX扩展器”。
- 需要动态添加/初始化扩展器并以编程方式刷新其内容时,请使用UpdatePanel,而不要使用ASPxCallbackPanel容器。