Asp.net

滾動後 CalendarExtender 位置錯誤

  • March 20, 2019

我正在使用預設樣式將 CalendarExtender 添加到頁面。當我點擊日曆按鈕觸發日曆彈出時,日曆正常顯示。但是,當我向下滾動並再次點擊該按鈕時,日曆的位置不在應有的位置,如下所示。

替代文字

為什麼會發生這種情況,我該如何解決?

**編輯:**關於這個頁面的實現。

CalendarExtender 和 TextBox 是添加到 SharePoint 2007 頁面的 WebPart 的一部分。我正在像這樣創建擴展器:

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);

頁面的DOCTYPE是什麼?另外,它是什麼瀏覽器?我在 Quirks 模式下使用 IE6-7 的無效/舊 DOCTYPE 的頁面上看到了這個問題。

在 quirks 模式下,javascript 值(如滾動位置)可能會關閉,從而導致渲染效果不佳。你應該確保你有一個有效的 DOCTYPE 強制 IE 進入標準模式,比如..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

我今天遇到了同樣的問題。

將您的文本框和 calendarExtender 包裝在一個 div 中position:relative;

這解決了我面臨的問題,我希望它也對你有用

引用自:https://stackoverflow.com/questions/958555