2009-06-05 38 views
9

我增加了CalendarExtender到一個頁面,使用默認的樣式。當我點擊日曆按鈕觸發日曆彈出窗口時,日曆顯示正常。但是,當我向下滾動並再次單擊該按鈕時,日曆的位置不在應有的位置,如下所示。CalendarExtender定位問題

alt text http://ktrauberman.wordpress.com/files/2009/06/calendarproblem.gif

這是爲什麼發生的歷史,如何解決?

編輯:有關此頁面的執行位。

的CalendarExtender和文本框是一個Web部件的一部分添加到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); 

回答

6

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

在特殊模式,JavaScript的值(如滾動位置),可通斷,從而導致一個壞的渲染。你應該確保你有迫使IE瀏覽器轉化爲標準模式像一個有效的DOCTYPE ..

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

頁沒有一個DOCTYPE。我從上面添加了DOCTYPE,並解決了這個問題。謝謝! – 2009-06-08 17:27:57

13

我碰到同樣的問題,走到今天。

position:relative;

這固定我所面臨的問題,總結你的文本框和calendarExtender在一個div,我希望它的伎倆對你太

+3

+1:這對我有用。我有正確的DOCTYPE,我仍然想知道可能是什麼問題。希望別人會探討你的答案是接受的人不會爲他們工作。對我來說,這個解決方案適用於多種瀏覽器:Chrome,Mozilla,Opera,IE(包括8和9)。 – 2012-08-21 13:59:38

0

由於這是一個古老的文章中,我發現試圖解決這種情況下,爲自己(以下不成功以前的答案),我想我的解決同樣的問題可能是相關的他人。

  • 我們這裏使用過時的版本:3.0.xxx
  • 我們不得不升級到最新版本:4.1.xxx

以上的版本是AjaxControlToolkit DLL版本 - 而不是你的NuGet看到的版本,今天的NuGet包(「Ajax控件工具箱」)將會像7.xxx。

僅供參考 - 我的研究:我一直在使用的最新版本AjaxControlToolkit樣本,以驗證是否如果我升級我的錯誤是解決(因爲我清楚地知道如何重現我的位置問題)得到。至少有兩個站點之一下面應該工作: