我正在尝试构建一个当您单击文本框时弹出的日历(在asp.net中); 对于这个任务,我构建了一个继承自文本框的新类,并且在新的类构造函数中我放了日历实例,但问题是,当我在新的类中时,我只得到文本框控件并且在单击时我没有得到日历。 有没有人有想法或如何解决这个问题?我的代码是:
public class TextBoxCalendar : TextBox
{
public TextBoxCalendar( int id)
{
this.ID = id.toString();
initCalender();
}
private void initCalender()
{
CalendarExtender ce = new CalendarExtender();
ce.ID = "calender";
ce.TargetControlID = this.ID;
}
}
答案 0 :(得分:0)
你必须覆盖TextBox的OnInit方法并在其中写入initCalender代码。
protected override void OnInit(EventArgs e) {
CalendarExtender ce = new CalendarExtender();
ce.ID = "calender";
ce.TargetControlID = this.ID;
}
答案 1 :(得分:0)
除了初始化控件之外,您还需要在渲染过程中的某个时刻将其添加到控件集合中:
protected override void Render(HtmlTextWriter writer)
{
CalendarExtender ce = new CalendarExtender();
ce.ID = "calender";
ce.TargetControlID = this.ID;
Controls.Add(ce);
//render the contents to the screen
RenderContents(writer);
}
答案 2 :(得分:0)
您可以使用Jquery Datepicker。