2011-11-20 3 views
6

J'ai une liste déroulante à l'intérieur d'un ModalPopupExtender et lorsque la fenêtre contextuelle est affichée, la liste des éléments ne se trouve pas sous la zone de texte mais est décalée vers la droite. mon code est:ASP.Net Ajax ComboBox dans ModalPopup

<asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="true"> 
     <Services> 
     </Services> 
     <Scripts> 
      <asp:ScriptReference Path="~/JavaScript/ScriptManager.js" /> 
     </Scripts> 
</asp:ScriptManager> 

<div> 
    <asp:Panel ID="dialog" runat="server"> 
     <div id="dialogContents"> 
      <asp:ComboBox ID="DropDownListMailTos" runat="server" AutoPostBack="true" 
       DropDownStyle="DropDown" Width="90%" RenderMode="Block"> 
       <asp:ListItem Text="1" Value="1" /> 
       <asp:ListItem Text="2" Value="2" /> 
       <asp:ListItem Text="3" Value="3" /> 
      </asp:ComboBox> 
      <br /> 
      <asp:Button ID="btnOK" Text="OK" runat="server" /> 
     </div> 
    </asp:Panel> 

    <asp:Button ID="btnShow" Text="Open Dialog" runat="server" /> 

    <asp:ModalPopupExtender 
     TargetControlID="btnShow" 
     PopupControlID="dialog" 
     OkControlID="btnOK" 
     DropShadow="true" 
     BackgroundCssClass="modalBackground" 
     runat="server" /> 
</div> 

j'ai essayé quelques solutions trouvées here et here

mais pas de chance là-bas. Que puis-je faire à ce sujet?

Répondre

7

Il semble que le seul problème ici est que le ModalPopup est en conflit avec le style par défaut du ComboBox. Vous avez juste besoin de jouer avec la classe CSS qui est appliquée au ListItem dans le ComboBox pour les faire apparaître correctement. Ajoutez le code suivant à votre CSS pour cette page (testé dans IE9, Chrome et FireFox) et vous devriez être bon:

.ajax__combobox_itemlist 
{ 
    position:fixed !important; 
} 

Pour plus d'informations, consultez la section « Combo Box thématisation » au bas de le documentation page.

+0

Ohh, excellente solution – Vladimirs

Questions connexes