2009-06-05 7 views
9

Ich füge einen CalendarExtender zu einer Seite hinzu, die Standardstile verwendend. Wenn ich auf die Kalenderschaltfläche klicke, um das Kalender-Popup auszulösen, wird der Kalender normal angezeigt. Wenn ich jedoch nach unten scrolle und erneut auf die Schaltfläche klicke, ist die Position des Kalenders nicht wie unten dargestellt.CalendarExtender Positioning Problem

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

Warum ist das auftritt und wie kann ich es beheben?

EDIT: Ein wenig über die Umsetzung dieser Seite.

Der CalendarExtender und die TextBox sind Teil eines WebParts, das einer SharePoint 2007-Seite hinzugefügt wurde. Ich schaffe den Extender wie so:

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

Antwort

6

Was ist der DOCTYPE der Seite? Auch, welcher Browser ist das? Ich habe dieses Problem auf Seiten mit ungültigen/alten DOCTYPEs mit IE6-7 im Quirks-Modus gesehen.

Im Quirks-Modus können Javascript-Werte (wie Scroll-Position) ausgeschaltet sein, was zu einem schlechten Render führt. Sie sollten sicherstellen, dass Sie einen gültigen DOCTYPE haben, der IE in den Standardmodus zwingt.

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

Die Seite hat keinen DOCTYPE haben. Ich habe den DOCTYPE von oben hinzugefügt und das Problem behoben. Vielen Dank! –

13

Ich bin heute auf dasselbe Problem gestoßen.

Wickeln Sie Ihre Textbox und CalendarExtender in einem div mit position:relative;

, dass das Problem behoben i konfrontiert wurde, ich hoffe, dass es den Trick für Sie tut zu

+3

+1: Das hat für mich funktioniert. Ich hatte den richtigen DOCTYPE und ich fragte mich immer noch, was das Problem sein könnte. Hoffnung, dass andere Ihre Antwort erforschen werden, ist derjenige, der für sie nicht akzeptiert wird.Für mich funktionierte diese Lösung auf mehreren Browsern: Chrome, Mozilla, Opera, IE (beide 8 und 9). –

+0

Ich hatte bereits einen Doctype. Und ähnliches Styling hat für mich funktioniert. Hier ist die Referenz: http://languagelassi.blogspot.in/2012/08/blog-post.html –

+0

@Dogoku Fine ... In unserem Projekt verwenden wir JavaScript-Kalender, es ist immer noch in der untersten Position. Bitte geben Sie an, ob es einen Workaround gibt, um es zu beheben. – TechDo

0

Da dies eine alte Post ist fand ich zu lösen versuchen, diese Situation für mich selbst (erfolglos nach vorherigen Antworten), dachte ich, meine Lösung für das gleiche Problem könnte für andere relevant sein.

  • Wir wo eine veraltete Version mit: 3.0.xxx
  • Wir auf die neueste Version zu Upgrade hatte: 4.1.xxx

Above Versionen ist die AjaxControlToolkit dll-Version - nicht die Version, die Sie auf NuGet sehen, wird heute das NuGet-Paket ("Ajax Control Toolkit") etwas wie 7.xxx sein.

FYI - Meine Nachforschungen: Ich habe die Beispiele der neuesten AjaxControlToolkit-Version verwendet, um zu überprüfen, ob mein Fehler behoben wurde, wenn ich mein Positionsproblem reproduzieren konnte. Mindestens eine der beiden Standorte sollten unten arbeiten:

Verwandte Themen