2009-06-05 29 views
9

Estoy agregando un CalendarExtender a una página, utilizando los estilos predeterminados. Cuando hago clic en el botón de calendario para activar el calendario emergente, el calendario se muestra normalmente. Sin embargo, cuando me desplazo hacia abajo y hago clic en el botón nuevamente, la posición del calendario no está donde debería estar, como se ve a continuación.Problema de posicionamiento de CalendarExtender

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

Por qué es esto occuring y cómo lo arreglo?

EDIT: Un poco sobre la implementación de esta página.

CalendarExtender y TextBox son parte de un WebPart añadido a una página de SharePoint 2007. Estoy creando el extensor de este modo:

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

Respuesta

6

Cuál es el DOCTYPE de la página? Además, ¿qué navegador es? He visto este problema en páginas con DOCTYPE inválidos/antiguos con IE6-7 en modo Quirks.

En el modo peculiar, los valores javascript (como la posición de desplazamiento), pueden estar desactivados, lo que da como resultado una mala representación. Usted debe asegurarse de que tiene un DOCTYPE válido que obliga a IE en el modo de estándares como ..

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

La página no tenía un DOCTYPE. Agregué el DOCTYPE desde arriba y esto solucionó el problema. ¡Gracias! –

13

me encontré con el mismo problema hoy en día.

Envuelva el cuadro de texto y CalendarExtender en un div con position:relative;

Eso solucionó el problema que estaba enfrentando, espero que hace el truco para usted también

+3

+1: Esto funcionó para mí. Estaba teniendo el DOCTYPE correcto y todavía me preguntaba cuál podría ser el problema. Espero que otros exploren tu respuesta; la que se acepta no funcionará para ellos.Para mí, esta solución funcionó en múltiples navegadores: Chrome, Mozilla, Opera, IE (tanto 8 como 9). –

+0

Ya tenía un doctype. Y un estilo similar funcionó para mí. Aquí está la referencia: http://languagelassi.blogspot.in/2012/08/blog-post.html –

+0

@Dogoku Fine ... En nuestro proyecto, estamos usando el calendario de JavaScript, todavía se muestra en la posición inferior. Por favor, mencione si hay alguna solución para solucionarlo. – TechDo

0

Dado que este es un viejo post me encontré tratando de resolver esta situación para mí (sin éxito después de las respuestas anteriores), pensé que mi solución al mismo problema podría ser relevante para los demás.

  • Nos donde utilizando una versión obsoleta : 3.0.xxx
  • Tuvimos que actualización para la versión más reciente: 4.1.xxx

Por encima de las versiones es la versión AjaxControlToolkit DLL - no es el versión que ve en NuGet, hoy el paquete NuGet ("Ajax Control Toolkit") será algo así como 7.xxx.

FYI - Mi investigación: He estado usando las muestras de versión más reciente AjaxControlToolkit para verificar si mi error se resuelve si he actualizado (ya que sabía exactamente cómo reproducir mi posición-edición). Al menos uno de los dos sitios a continuación deben trabajar:

Cuestiones relacionadas