2009-06-05 19 views
9

Dodaję program CalendarExtender do strony przy użyciu domyślnych stylów. Po kliknięciu przycisku kalendarza w celu wyświetlenia wyskakującego kalendarza kalendarz wyświetla się normalnie. Jednak gdy przewińę w dół i ponownie kliknę przycisk, pozycja kalendarza nie będzie tam, gdzie powinna być, jak widać poniżej.Problem z pozycjonowaniem CalendarExtender

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

Dlaczego to występujące i jak to naprawić?

EDIT: Trochę na temat implementacji tej strony.

CalendarExtender i TextBox są częścią WebPart dodanej do strony SharePoint 2007. Tworzę przedłużacz tak:

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

Odpowiedz

6

Jaki jest DOCTYPE strony? Co to jest za przeglądarka? Widziałem ten problem na stronach z nieprawidłowymi/starymi DOCTYPE z IE6-7 w trybie Quirks.

W trybie quirks wartości javascript (takie jak pozycja przewijania) mogą być wyłączone, powodując zły render. Należy upewnić się, że masz poprawny DOCTYPE, który powoduje IE w trybie standardowym jak ..

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

strona nie posiada DOCTYPE. Dodałem DOCTYPE z góry i to rozwiązało problem. Dzięki! –

13

natknąłem się na ten sam problem dzisiaj.

Owiń tekstowe i calendarExtender w div z position:relative;

Ten problem został rozwiązany i był skierowany, mam nadzieję, że to załatwia sprawę dla ciebie zbyt

+3

+1: To działało dla mnie. Miałem prawidłowy DOCTYPE i wciąż zastanawiałem się, jaki może być problem. Mam nadzieję, że inni będą badać twoją odpowiedź, to ta, która zostanie przyjęta, nie będzie dla nich działać.Dla mnie to rozwiązanie działało w wielu przeglądarkach: Chrome, Mozilla, Opera, IE (zarówno 8, jak i 9). –

+0

Już miałem dokument. I podobna stylizacja działała dla mnie. Oto odniesienie: http://languagelassi.blogspot.in/2012/08/blog-post.html –

+0

@Dogoku Fine ... W naszym projekcie używamy kalendarza JavaScript, który wciąż wyświetla się w dolnej pozycji. Proszę wspomnieć, jeśli istnieje sposób obejścia tego problemu. – TechDo

0

Ponieważ jest to stary post znalazłem próbuje rozwiązać ta sytuacja dla mnie (nieudana po poprzednich odpowiedziach), myślałem, że moje rozwiązanie tego samego problemu może być istotne dla innych.

  • My gdzie za pomocą nieaktualnej wersji: 3.0.xxx
  • musieliśmy uaktualnienie do najnowszej wersji: 4.1.xxx

Przede wersjach jest wersja dll AjaxControlToolkit - nie jest Wersja, którą widzisz na NuGet, dziś pakiet NuGet ("Ajax Control Toolkit") będzie podobny do 7.xxx.

FYI - Moje badania: Używam próbek najnowszej wersji AjaxControlToolkit aby sprawdzić, czy mój błąd został rozwiązany gdybym zmodernizowane (ponieważ wiedziałem dokładnie, jak odtworzyć moją pozycję zagadnień). Przynajmniej jedno z dwóch miejsc poniżej powinno działać:

Powiązane problemy