【问题标题】:asp.net calendar control appears below textfieldasp.net 日历控件出现在文本字段下方
【发布时间】:2010-05-24 14:52:05
【问题描述】:

我会使用一个图像按钮来显示一个 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>

【问题讨论】:

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


    【解决方案1】:

    在我的脑海中,我建议您设置asp:PanelCssClass 属性并使用CSS 定位它。控件生成的 HTML 可能会呈现块级元素(&lt;div&gt;&lt;table&gt; 最有可能),这将导致它默认显示在新行上。

    尝试使用display: inlinedisplay: inline-block 或使用float 来定位它。

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

    【讨论】:

      【解决方案2】:

      将 style="float:right" 添加到文本框。

      【讨论】:

      • 文本框没有样式属性。
      • 它确实 - 它只是没有出现在 Intellisense 中。不过,您仍然可以在文本框上使用样式标签。此外,我认为 Fat_Tony 的回答应该可以解决您的问题。
      • 你仍然可以通过 CssClass 属性设置样式
      猜你喜欢
      • 2019-07-08
      • 2011-07-02
      • 1970-01-01
      • 2014-12-08
      • 2023-01-13
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多