Usando o DatePicker e o Calender Extender com dispositivos móveis
Eu encontrei alguns problemas ao usar o AJAX CalenderExtender no meu IPhone. Meio que funciona, mas parecia um pouco desajeitado, considerando que há um selecionador de data embutido para aplicativos. Costumo projetar todos os meus sites como um só, com skins selecionáveis para Mobile ou Desktop, então achei que isso poderia ser um problema.
Desde o IOS 5, o Safari tem suporte nativo para tags de data HTML.
Agora, ao usar um extensor de calendário, tenho visto muitas pessoas se depararem com problemas após os postbacks. Isso se deve ao ViewState da caixa de texto e ao JavaScript. Eu vi várias maneiras de contornar isso, as duas principais maneiras são defini-lo como somente leitura e a outra é inserir seu código dentro de um painel de atualização. Eu costumo usar o último, pois o usuário pode digitar na caixa se quiser (você pode adicionar o Masked Edit Extender, por exemplo).
Este é o código que eu uso, não esqueça que se você usar isso você precisará adicionar o Toolkit Script Manager.
HTML
<div class="ControlArea"><asp:UpdatePanel ID="UpdatePanel2" runat="server"> <ContentTemplate> <asp:Label ID="Label1" runat="server" Text="Date To From" CssClass="LabelLeft400"><asp:Label> <asp:TextBox id="DateFrom" runat="server" AutoPostBack="True"><asp:TextBox> <asp:CalendarExtender ID="DateFrom_CalendarExtender" runat="server" Enabled="True" TargetControlID="DateFrom" ClearTime="True" PopupPosition="TopRight" Format="dd MMM yyyy"> <asp:CalendarExtender> <asp:TextBox id="DateTo" runat="server" AutoPostBack="True"><asp:TextBox> <asp:CalendarExtender ID="DateTo_CalendarExtender" runat="server" Enabled="True" TargetControlID="DateTo" ClearTime="True" PopupPosition="TopRight" Format="dd MMM yyyy"> <asp:CalendarExtender> <ContentTemplate><asp:UpdatePanel><div>
VB
Dim df As Date = DateSerial(Year(Today()) - 1, 1, 1)Dim dt As Date = DateSerial(Year(Today()) - 1, 12, 31)DateFrom.Text = Format(df, "dd MMM yyyy")DateTo.Text = Format(dt, "dd MMM yyyy")If Request.Browser.IsMobileDevice Then DateFrom_CalendarExtender.Enabled = False DateFrom.AutoPostBack = False DateTo_CalendarExtender.Enabled = False DateTo.AutoPostBack = False DateFrom.Attributes.Add("Type", "Date") DateTo.Attributes.Add("Type", "Date")ElseEnd If
Design do site por Claytabase
Esta é uma seção de código que foi modificada do código do Ousia Content Management System, um dos sistemas mais rápidos e otimizados do mercado, parte de nossos serviços de design de sites.
Estes estão disponíveis com sites a partir de cerca de £ 500.