2008-11-13 6 views
0

Каждый раз, когда мне нужно создать форму с полем DateTime, я пытаюсь найти достойный бесплатный пользовательский элемент управления - я всегда терпит неудачу.Кто-нибудь знает о бесплатной дате и времени * ASP.NET custom control

Я не могу понять, почему он не встроен в .NET, но давайте забудем о минуту и ​​сосредоточиться на мой вопрос: D

Каждый получил один?

ответ

1

Используйте два отдельных текстовых поля, один для даты и один для времени. Для первой даты используйте элемент управления ASP.NET Ajax Control Toolkit Calendar, как указал другой человек.

На данный момент TextBox, посмотрите на элемент управления MaskedEditExtender в том же наборе инструментов. Вы можете установить его для отображения :: __ AM/PM и дать пользователю заполнить. Вы можете заполнить нулями, если они просто набирают «3p» и выходят из игры.

Чтобы использовать его, вам нужен текстовый блок. Вы устанавливаете TargetControlID MaskedEditExtender в идентификатор TextBox. Вот некоторые атрибуты, которые вы должны будете установить в теге MaskedEditExtender для записи времени:

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

Кроме того, если вы получаете странные ошибки, связанные с FindControl, убедитесь, что ваши MaskedEditExtenders все имеют идентификационные номера которых установлен.

0

Я просто сделал быстрый Google и наткнулся на это ...

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

Похоже, он поддерживает даты и времени, и это, кажется, быть свободным.

+0

javascript не является пользовательским элементом управления .NET – inspite 2008-11-13 17:22:47

+0

, но может выполнить эту работу! спасибо: D – inspite 2008-11-13 17:29:24

+0

Действительно ли это наносит серверу каждый раз, когда вы нажимаете на что-то в календаре? Это глупо. Я предпочитаю клиентское решение. – BoltBait 2008-11-13 18:46:33

0

Это действительно хорошо работает.

<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"> 

0

Ra-Ajax Calendar control на самом деле будет выпущен предстоящей в пятницу (28 ноября 2008) с поддержкой времени (два Textboxes между кнопкой Сегодня и даты)

Ра-Ajax является LGPL лицензированы и бесплатно ...