【问题标题】:How can I make my asp calendar a popup?如何使我的 asp 日历弹出?
【发布时间】:2014-05-16 21:21:46
【问题描述】:

我在 asp.net 中有一个日历,当用户单击文本框时会显示该日历。但是,如果不推送下面的所有内容,我不确定如何显示日历。我需要一种为日历制作弹出面板的方法。

这是我目前所拥有的。我只是使用表格将日历直接放在文本框下方,但这会改变表格下方项目的布局。

<asp:Table runat="server">
    <asp:TableRow>
        <asp:TableCell>
            <asp:TextBox ID="TextBox1" runat="server" OnClick="showCal('Calendar1')"></asp:TextBox>
        </asp:TableCell>       
    </asp:TableRow>
     <asp:TableRow>
        <asp:TableCell>
            <asp:Calendar ID="Calendar1" runat="server" style="display: none;"></asp:Calendar>
        </asp:TableCell>
    </asp:TableRow>
</asp:Table>

请注意,我的日历设置为显示:无。当有人点击文本框时,我的 onclick js 函数会触发。

我尝试更改第二个表格行的 z-index,希望在显示日历时,我的页面的其余部分不会更改,但这不起作用。

【问题讨论】:

  • 这更像是一个 CSS 问题。本质上,您需要查看已做出的 CSS 声明,然后进行相应调整。此外,您可能需要覆盖用您自己的方式完成此操作的罐装 asp JS
  • 使用 nuget 包中的 AjaxToolKit
  • @BrandtSolovij 我正面临着 OP 的确切问题。我没有选择来使用AjaxToolKit's CalendarExtender。因此,如果您可以详细说明答案,那就太好了。和 roshambo,+1 用于提问。如果您找到了解决方案,请分享。
  • 基本上,从提出的问题来看 - roshambo 的问题相当于元素的嵌套和样式以及这些标签创建的 dom 元素。 asp:Table 将创建一个表格元素。表格元素与行和单元格一样具有固有的 css 属性,这可能与你们试图通过日历弹出交互完成的内容相冲突。如果您可以提供链接,我可以查看您的 html 和 css 并提出建议,但没有这种能力 - “精神指导”是可用答案的最佳形式。祝你好运!

标签: c# javascript css asp.net calendar


【解决方案1】:

我只需将以下 CSS 应用于我的日历即可解决此问题:

calendarClass{
    background: white; 
    position: absolute;
}

以某种方式添加白色背景(或您喜欢的任何颜色)会使日历的透明度消失,使其看起来不奇怪。然后绝对位置使日历出现在表格的顶部。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2011-10-25
    • 1970-01-01
    相关资源
    最近更新 更多