Pregunta

Cada vez que tengo que crear un formulario con un campo DateTime trato de encontrar un control personalizado gratuito decente; siempre fallo.

No puedo entender por qué no está construido en .NET, pero olvidemos por un minuto y concentrémonos en mi pregunta: D

¿Alguien tiene uno?

¿Fue útil?

Solución

Use dos cuadros de texto separados, uno para la fecha y otro para la hora. Para la fecha uno, use el Kit de herramientas de control Ajax de ASP.NET Calendario control, como alguien más señaló.

Por el momento TextBox, eche un vistazo a MaskedEditExtender control en el mismo kit de herramientas. Puede configurarlo para que muestre : : __ AM / PM y dejar que el usuario complete. Puede rellenar con ceros si solo escriben " 3p " y pestaña.

Para usarlo, necesitas un TextBox. Establece el TargetControlID de MaskedEditExtender en la ID del TextBox. Aquí hay algunos atributos que necesitará establecer en la etiqueta MaskedEditExtender para la entrada de tiempo:

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

Además, si obtiene un extraño error relacionado con FindControl, asegúrese de que todos sus MaskedEditExtenders tengan ID configurados.

Otros consejos

Verifique el extensor Control de calendario desde el extensor MS AJAX Control Toolkit , realmente me gusta.

Acabo de hacer un rápido Google y me encontré con este ...

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

Parece que admite fechas y horas, y parece ser gratuito.

He tenido bastante buena suerte con este:

http://www.eworldui.net/

El control del calendario Ra-Ajax se lanzará el próximo viernes (28 de noviembre de 2008) con soporte de tiempo (dos cuadros de texto entre el botón Hoy y las fechas)

Ra-Ajax tiene licencia LGPL y es gratuito para usar ...

Esto funciona muy bien.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top