我已经创建了一个服务器控件。
在CreateChildControls事件中,我有一个文本框。我想使用Ajax calendar Extender将此文本框更改为日历选择器,但到目前为止我所做的都不起作用……
private TextBox _txtStartDate;
private CalendarExtender _calExTxtStartDate;
protected override void CreateChildControls() {
... etc
_txtStartDate = new TextBox();
_txtStartDate.ID = "txtStartDate";
_calExTxtStartDate = new CalendarExtender();
_calExTxtStartDate.ID = "calExTxtStartDate";
_calExTxtStartDate.TargetControlID = "txtStartDate";
... etc
Controls.Add(_txtStartDate);
Controls.Add(_calExTxtStartDate); // Calendar Extender
... etc
}我已经在页面中有一个控件被使用的AjaxScriptManager,所以没有添加另一个(当我添加时,会出现“复制脚本管理器”错误)。
当使用设计器在页面上添加日历时,我可以让它工作,但不能在服务器控件中...我是不是遗漏了什么?
发布于 2014-10-03 19:50:03
我认为你必须这样做:
private TextBox _txtStartDate;
private CalendarExtender _calExTxtStartDate;
protected override void CreateChildControls() {
... etc
_txtStartDate = new TextBox();
Controls.Add(_txtStartDate);
_txtStartDate.ID = "txtStartDate";
_calExTxtStartDate = new CalendarExtender();
Controls.Add(_calExTxtStartDate); // Calendar Extender
_calExTxtStartDate.ID = "calExTxtStartDate";
_calExTxtStartDate.TargetControlID = _txtStartDate.ClientID;
... etc
}发布于 2014-10-03 22:57:03
我使用Chrome来检查javascript是否正常,结果是我得到了javascript错误。
本网站也使用Telerik Rad控件,并使用RadScriptManager代替AjaxScriptManager,因为其他RAD控件...不幸的是,AJAX日历扩展器和RadScriptManager不兼容(至少在我的版本中不兼容)……所以我简单地换成使用RadDatePicker,它似乎工作得很好……
http://demos.telerik.com/aspnet-ajax/calendar/examples/datepicker/custompopup/defaultcs.aspx
https://stackoverflow.com/questions/26178231
复制相似问题