CalendarExtender wrongly positioned after scrolling

I am adding a CalendarExtender to a page, using the default styles. When I click the calendar button to trigger the calendar popup, the calendar displays normally. However, when I scroll down and click the button again, the calendar’s position is not where it should be, as seen below.

alt text

Why is this occuring and how do I fix it?

EDIT: A bit about the implementation of this page.

The CalendarExtender and TextBox are part of a WebPart added to a SharePoint 2007 Page. I am creating the extender like so:

textBox = new TextBox() { ID = "textBox" };

calendar = new CalendarExtender()
        ID = "ceStartDate",
        TargetControlID = textBox.ID,
        PopupPosition = CalendarPosition.Right,
        PopupButtonID = image.ID


Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

I came across the same problem today.

Wrap your textbox and calendarExtender in a div with position:relative;

That fixed the problem i was facing, i hope it does the trick for you too

Method 2

What is the DOCTYPE of the page? Also, what browser is it? I have seen this issue on pages with invalid/old DOCTYPEs with IE6-7 in Quirks mode.

In quirks mode, javascript values(like scroll position), can be off, resulting in a bad render. You should ensure you have a valid DOCTYPE that forces IE into standards mode like..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

Method 3

Since this is an old post I found trying to solve this situation for myself (unsuccessful following previous answers), I thought my solution to the same issue might be relevant to others.

  • We where using an outdated version:
  • We had to upgrade to latest version:

Above versions is the AjaxControlToolkit dll version – not the version you see on NuGet, today the NuGet package (“Ajax Control Toolkit”) will be something like

FYI – My research: I’ve been using the samples of latest AjaxControlToolkit version to verify if my bug was solved if I upgraded (since I knew exactly how to reproduce my position-issue). At least one of the two sites below should work:

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Notify of

Inline Feedbacks
View all comments
Would love your thoughts, please comment.x