CalendarExtender неправильно расположен после прокрутки - PullRequest
10 голосов
/ 06 июня 2009

Я добавляю CalendarExtender на страницу, используя стили по умолчанию. Когда я нажимаю кнопку календаря, чтобы вызвать всплывающее окно календаря, календарь отображается нормально. Однако, когда я прокручиваю вниз и снова нажимаю кнопку, позиция календаря не там, где должна быть, как показано ниже.

alt text

Почему это происходит и как я могу это исправить?

РЕДАКТИРОВАТЬ: Немного о реализации этой страницы.

CalendarExtender и TextBox являются частью веб-части, добавленной на страницу SharePoint 2007. Я создаю расширитель так:

textBox = new TextBox() { ID = "textBox" };
Controls.Add(textBox);

calendar = new CalendarExtender()
    {
        ID = "ceStartDate",
        TargetControlID = textBox.ID,
        PopupPosition = CalendarPosition.Right,
        PopupButtonID = image.ID
    };
Controls.Add(calendar);

Ответы [ 3 ]

14 голосов
/ 18 августа 2010

Сегодня я столкнулся с той же проблемой.

Оберните текстовое поле и calendarExtender в div с position:relative;

Это решило проблему, с которой я столкнулся, я надеюсь, что это поможет вам тоже

6 голосов
/ 06 июня 2009

Что такое DOCTYPE страницы? Кроме того, что это за браузер? Я видел эту проблему на страницах с недействительными / старыми DOCTYPE с IE6-7 в режиме Quirks.

В режиме причуд значения javascript (например, положение прокрутки) могут быть отключены, что приведет к плохому рендерингу. Вы должны убедиться, что у вас есть действительный DOCTYPE, который переводит IE в стандартный режим, например ..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
0 голосов
/ 08 сентября 2014

Поскольку это старый пост, который я нашел, пытаясь разрешить эту ситуацию для себя (безуспешно после предыдущих ответов), я подумал, что моё решение той же проблемы может быть актуально для других.

  • Мы использовали устаревшую версию : 3.0.xxx
  • Нам пришлось обновить до последней версии : 4.1.xxx

Выше версий - версия dll AjaxControlToolkit - не та версия, которую вы видите в NuGet, сегодня пакет NuGet («Ajax Control Toolkit») будет выглядеть примерно как 7.xxx.

К вашему сведению - мое исследование: Я использовал образцы последней версии AjaxControlToolkit, чтобы проверить, была ли устранена моя ошибка, если я обновился (так как я точно знал, как воспроизвести мою проблему с позицией). По крайней мере один из двух сайтов ниже должен работать:

...