【问题标题】:ASP Ajax Calendar Extender and displaying timeASP Ajax 日历扩展器和显示时间
【发布时间】:2010-09-21 17:28:43
【问题描述】:

我正在使用 Ajax Control Toolkit Calendar Extender 控件。尽管我想在某些字段中显示时间和日期。我尝试将格式设置为“dd/MM/yyyy hh:mm:ss”,但时间部分被擦除了。如果用户想要更改时间部分,他们可以手动进行,日历下拉菜单仅用于更改日期部分。

是否有任何变通方法或替代方法可以使其正常工作?

【问题讨论】:

    标签: asp.net ajax calendarextender


    【解决方案1】:

    我有一个类似的问题,我打算使用日期字段和相关的时间下拉列表(以 1/2 小时为增量)。用户在日期字段中设置日期,可选择使用日历控件,并下拉到有效时间。我计划在时间下拉列表中选择一个“无关”,以防它是“全天”事件。

    [编辑] 我发现这个 jquery plugin 我可能最终会使用它。我还在this post 的答案中找到了Gaia DateTimePicker 的链接(现在看起来已被删除,可能是因为OP 要求的是WPF 控件,而不是Web 控件)。

    【讨论】:

    • 如果一切都失败了,我最终可能会使用两个控件走类似的路线。
    • 感谢 jquery 插件的提示。我在使用 ASP.NET AJAX DateTime 日历控件时遇到了同样的问题,正在寻找替代方案。
    【解决方案2】:

    Ra-Ajax Calendar 将在即将到来的星期五(2008 年 11 月 28 日)推出 TIME 支持,它已获得 LGPL 许可...

    【讨论】:

    • 您知道在哪里可以找到支持 TIME 的样本吗?
    • 我不知道我们是否有示例,但您可以使用与日历相同的项目中存在的 Ra DateTimePicket。
    【解决方案3】:

    基于CalendarExtender,您可以设置格式为“MM/dd/yyyy”。用户在日历中选择日期后,它将返回例如 04/28/2009。在日期选择事件中,您可以在返回日期后追加当前时间。

    OnClientDateSelectionChanged="dateselect"

        function dateselect(ev)
        {
            var calendarBehavior1 = $find("Calendar1");
            var d = calendarBehavior1._selectedDate;
            var now = new Date();
            calendarBehavior1.get_element().value = d.format("MM/dd/yyyy") + " "+now.format("HH:mm:ss")
        }
    

    【讨论】:

    • 这是唯一的方法
    【解决方案4】:

    将时间组件添加到 AjaxControlToolKit CalendarExtender 的唯一方法是使用 OnClientDateSelectionChanged 和 JavaScript 附加它。

    <ajaxToolkit:CalendarExtender ID="ce1" runat="server" PopupButtonID="calImg" Enabled="true" Format="dd/MM/yyyy" TargetControlID="txtLeft" PopupPosition="TopRight" OnClientDateSelectionChanged="AppendTime"></ajaxToolkit:CalendarExtender>
    

    <script language="javascript" type="text/javascript">
        //this script will get the date selected from the given calendarextender (ie: "sender") and append the
        //current time to it.
        function AppendTime(sender, args) {
            var selectedDate = new Date();
            selectedDate = sender.get_selectedDate();
            var now = new Date();
            sender.get_element().value = selectedDate.format("dd/MM/yyyy") + " " + now.format("hh:mm tt");
        }
        </script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 2012-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多