每次我必须使用 DateTime 字段构建表单时,我会尝试找到一个像样的免费自定义控件 - 我总是失败。

我无法弄清楚为什么它不是在.NET中构建的,而是让我们忘记一分钟并专注于我的问题:D

有人有吗?

有帮助吗?

解决方案

使用两个单独的TextBox,一个用于日期,一个用于时间。对于第一天,使用ASP.NET Ajax控件工具包日历控制,正如别人指出的那样。

有关TextBox的时间,请查看 MaskedEditExtender 在同一工具箱中控制。您可以将其设置为显示:__ AM / PM并让用户填写。如果他们只输入“3p”,则可以填写零。并标签出来。

要使用它,您需要一个TextBox。您将MaskedEditExtender的TargetControlID设置为TextBox的ID。以下是您需要在MaskedEditExtender标记中为时间输入设置的一些属性:

Mask="99:99"
AutoCompleteValue="00:00"
AcceptAMPM="true"
MaskType="Time"

此外,如果您遇到与奇怪的FindControl相关的错误,请确保您的MaskedEditExtenders都设置了ID。

其他提示

日历控件扩展程序href =“http://www.asp.net/AJAX/AjaxControlToolkit/”rel =“nofollow noreferrer”> MS AJAX Control Toolkit ,我非常喜欢。

我刚刚做了一个快速的谷歌并遇到了这个......

http://www.softcomplex.com/products/tigra_calendar/demo1.html

看起来它支持日期和时间,而且似乎是免费的。

我对这个有好运:

http://www.eworldui.net/

Ra-Ajax Calendar控件将在即将到来的星期五发布(2008年11月28日)有时间支持(今日按钮和日期之间有两个文本框)

Ra-Ajax获得LGPL许可且免费使用...

这确实很有效。

<asp:TextBox runat="server" ID="startDate" autocomplete="off" />
<ajaxToolkit:CalendarExtender 
    ID="defaultCalendarExtender" 
    runat="server" 
    TargetControlID="startDate" />
<asp:TextBox ID="startTime" runat="server" Columns="8"></asp:TextBox>
<ajaxToolkit:MaskedEditExtender 
    ID="startTime_MaskedEditExtender1" runat="server" 
    Enabled="True" 
    TargetControlID="startTime" 
    MaskType="Time" 
    AutoCompleteValue="09:00"
    Mask="99:99"
    AcceptAMPM="true">
</ajaxToolkit:MaskedEditExtender>
<ajaxToolkit:MaskedEditValidator 
    ID="MaskedEditValidator1" 
    runat="server" 
    ControlExtender="startTime_MaskedEditExtender1"
    ControlToValidate="startTime" 
    IsValidEmpty="False"
    EmptyValueMessage="Time is required"
    InvalidValueMessage="Time is invalid"
    Display="Dynamic"
    TooltipMessage="Input a time"
    EmptyValueBlurredText="*"
    InvalidValueBlurredMessage="Check time">

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top