2009-06-05 7 views
9

Aggiungo un CalendarExtender a una pagina, utilizzando gli stili predefiniti. Quando faccio clic sul pulsante del calendario per attivare il popup del calendario, il calendario viene visualizzato normalmente. Tuttavia, quando si scorre verso il basso e si fa nuovamente clic sul pulsante, la posizione del calendario non è dove dovrebbe essere, come mostrato di seguito.CalendarExtender Positioning Problem

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

Perché questo si verificano e come posso risolvere il problema?

MODIFICA: Un po 'sull'implementazione di questa pagina.

CalendarExtender e TextBox fanno parte di una WebPart aggiunta a una pagina di SharePoint 2007. Sto creando la prolunga in questo 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); 

risposta

6

Qual è la DOCTYPE della pagina? Inoltre, che browser è? Ho visto questo problema su pagine con DOCTYPE non validi/vecchi con IE6-7 in modalità Quirks.

In modalità "Quirks", i valori javascript (come la posizione di scorrimento), possono essere disattivati, causando un rendering non valido. Dovresti assicurarti di avere un DOCTYPE valido che costringa l'IE in modalità standard come ..

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

la pagina non ha avuto un DOCTYPE. Ho aggiunto il DOCTYPE dall'alto e questo ha risolto il problema. Grazie! –

13

Mi sono imbattuto nello stesso problema oggi.

Avvolgere la casella di testo e CalendarExtender in un div con position:relative;

che ha risolto il problema stavo affrontando, spero lo fa il trucco per voi troppo

+3

+1: questo ha funzionato per me. Avevo il DOCTYPE corretto e mi chiedevo ancora quale potesse essere il problema. Spero che gli altri esplorino la tua risposta è che quello accettato non funzionerà per loro.Per me questa soluzione ha funzionato su più browser: Chrome, Mozilla, Opera, IE (entrambi 8 e 9). –

+0

Ho già un doctype. E lo stile simile ha funzionato per me. Ecco il riferimento: http://languagelassi.blogspot.in/2012/08/blog-post.html –

+0

@Dogoku Fine ... Nel nostro progetto, stiamo utilizzando il calendario JavaScript, è ancora visualizzato nella posizione inferiore. Si prega di citare se c'è qualche soluzione per risolverlo. – TechDo

0

Poiché si tratta di un vecchio post ho trovato cercando di risolvere questa situazione per me (senza successo dopo le risposte precedenti), ho pensato che la mia soluzione allo stesso problema potrebbe essere rilevante per gli altri.

  • Abbiamo dove utilizzando una versione non aggiornata : 3.0.xxx
  • Abbiamo dovuto aggiornamento alla versione più recente: 4.1.xxx

Sopra le versioni è la versione AjaxControlToolkit dll - non è il versione che vedi su NuGet, oggi il pacchetto NuGet ("Ajax Control Toolkit") sarà qualcosa come 7.xxx.

CRONACA - La mia ricerca: Sto usando i campioni di ultima versione AjaxControlToolkit per verificare se il mio errore è stato risolto se ho aggiornato (dato che sapevo esattamente come riprodurre la mia posizione-problema). Almeno uno dei due siti di seguito dovrebbe funzionare: