我创建了一个服务器控件 在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,所以没有添加另一个(当我这样做时出现'重复脚本管理器'错误)。
当使用设计器在页面上添加日历时,我能够正常工作,但不能在服务器控件中添加...我错过了什么吗?
答案 0 :(得分:0)
我认为你必须这样做:
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
}
答案 1 :(得分:0)
我使用Chrome来检查javascript是否整齐,但事实证明我收到了javascript错误。
这个网站也使用Telerik Rad控件并使用RadScriptManager而不是其他RAD控件的AjaxScriptManager ......不幸的是AJAX日历扩展器和RadScriptManager不兼容(不管我的版本是不是)...所以我只是交换使用RadDatePicker,这似乎工作得很好......
http://demos.telerik.com/aspnet-ajax/calendar/examples/datepicker/custompopup/defaultcs.aspx