【问题标题】:How do I implement Ajax Calendar Extender in Server Control?如何在 Server Control 中实现 Ajax Calendar Extender?
【发布时间】:2014-10-03 11:35:19
【问题描述】:

我已经创建了一个服务器控件。
在 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,因此没有添加另一个(当我添加时出现“重复脚本管理器”错误)。

当我使用设计器在页面上添加日历时,我能够得到这个工作,但不是在服务器控件中......我错过了什么吗?

【问题讨论】:

    标签: c# asp.net calendar ajaxcontroltoolkit custom-server-controls


    【解决方案1】:

    我认为你必须这样做:

    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
    
    }
    

    【讨论】:

    • 感谢您的回复,但没有成功。我收到带有以下错误的黄屏:The TargetControlID of 'calExTxtStartDate' is not valid. A control with ID 'ctl00_ctl00_bodyContentPlaceHolder_bodyContentPlaceHolder_txtStartDate' could not be found.
    【解决方案2】:

    我使用 Chrome 检查 javascript 是否正常,结果发现我遇到了 javascript 错误。

    该网站还使用 Telerik Rad 控件并使用 RadScriptManager 而不是 AjaxScriptManager 因为其他 RAD 控件...不幸的是 AJAX 日历扩展器和 RadScriptManager 不兼容(无论如何在我的版本中不兼容)...所以我只是换成使用 RadDatePicker,它似乎工作正常......

    http://demos.telerik.com/aspnet-ajax/calendar/examples/datepicker/custompopup/defaultcs.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多