asp.net日历控件出现在textfield下面

时间:2010-05-24 14:52:06

标签: c# asp.net .net-3.5 calendar

我使用图像按钮来显示asp.net日历控件(此控件随VS 2008一起提供)。但是,当我单击图像按钮时,日历控件将显示在“支持”填充的文本字段“下方”。如何让控件显示在文本域的右侧?

我的代码是:

                         <asp:ImageButton ID="imgCalendar" runat="server" Height="17px" 
                         ImageUrl="~/Images/CAL.gif" 
                         onclick="imgCalendar_Click1" Width="19px" 
                         Visible="true" ImageAlign="Middle" />
                     <asp:Panel ID="Panel1" runat="server">
                         <asp:Calendar ID="calStartDate" runat="server" BackColor="Transparent" 
                             BorderColor="#FFCC66" BorderWidth="1px" DayHeaderStyle-BackColor="gainsboro" 
                             DayNameFormat="Shortest" FirstDayOfWeek="Monday" Font-Bold="True" 
                             Font-Names="Verdana" Font-Size="8pt" ForeColor="Gray" Height="102px" 
                             OnSelectionChanged="calStartDate_SelectionChanged" 
                             OtherMonthDayStyle-ForeColor="gray" SelectedDayStyle-BackColor="Navy" 
                             SelectedDayStyle-Font-Bold="True" SelectorStyle-BackColor="gainsboro" 
                             ShowGridLines="True" TitleStyle-BackColor="gray" TitleStyle-Font-Bold="True" 
                             TitleStyle-Font-Size="12px" TodayDayStyle-BackColor="gainsboro" Visible="False" Width="62px">
                             <SelectedDayStyle BackColor="#404040" Font-Bold="True" />
                             <TodayDayStyle BackColor="#3A080B" ForeColor="White" />
                             <SelectorStyle BackColor="#FFCC66" />
                             <OtherMonthDayStyle ForeColor="#CC9966" />
                             <NextPrevStyle Font-Size="9pt" ForeColor="#3A080B" />
                             <DayHeaderStyle BackColor="#3A080B" Font-Bold="True" Height="1px" ForeColor="White" />
                             <TitleStyle BackColor="#E0C16B" Font-Bold="True" Font-Size="9pt" ForeColor="#3A080B" />
                         </asp:Calendar>
                     </asp:Panel>

2 个答案:

答案 0 :(得分:1)

在我的脑海中,我建议您设置CssClass的{​​{1}}属性并使用CSS定位它。控件生成的HTML可能会呈现块级元素(最有可能是asp:Panel<div>),这将导致它默认显示在新行上。

尝试使用<table>display: inline或使用display: inline-block进行定位。

根据您为文本框设置样式的方式,您可能还需要修改它的样式以适应日历的位置。

答案 1 :(得分:0)

将style =“float:right”添加到文本框中。