none
Dúvida em DateTime C# RRS feed

  • Pergunta

  • Pessoal, Boa noite.

    Tenho um Form de cadastro com um datepicker...

    Coloco a data: 06/09/2012 , eu atualizo já aparece: 69/20/1212

    Se eu colocar com uma data onde o mês é acima de 10, aparece correto.

    Na hora de exibir na página aparece certo, mas a data cadastrada fica a errada...

    Segue meus fontes:

    FeriadoController.cs

    var model = new FeriadoModel();
    
                try
                {
                    var feriado = _repositorioFeriado.GetById(id) ?? new Feriado { Ativo = true };
    
                    model.IdFeriado = feriado.IdFeriado;
                    model.DataFeriado = feriado.IdFeriado == 0 ? (DateTime?)null : feriado.DataFeriado;
                    model.Descricao = feriado.Descricao;
                    model.Ativo = feriado.Ativo;
                }
                catch (Exception ex)
                {
                    model.Error = ex;
                }
    
                return View(model);

    FeriadoModel.cs

            [DisplayName("Data do Feriado")]
            [Required(ErrorMessage = "Você deve informar a data do feriado.")]
            public DateTime? DataFeriado { get; set; }

    Edit.cshtml

    <script language="javascript" type="text/javascript">
        $(document).ready(function () {
            $(".editContent").css("height", "0px");
            $(".editContent").css("height", ($(document).height() - 67) + "px");
    
            var configDatePicker = {
                dateFormat: "dd/mm/yy",
                buttonImageOnly: true,
                buttonImage: "/Imagens/calendar.png",
                showOn: "button"
            }
    
            
            $("#DataFeriado").datepicker(configDatePicker);
            $("#DataFeriado").mask("99/99/9999");
            $("#DataFeriado").focus();
    
            @if(Model.RecarregaLista){
                @:$("#FormPesquisaLista", $("#mainFrame", parent.top.document)[0].contentDocument)[0].submit();
            }
        });
    </script>
    @using (Html.BeginForm("Save", "Feriado"))
    {
        @Html.ValidationSummary(true)
        @Html.HiddenFor(model => model.IdFeriado)
        <div style="height: 46px; background-color: #ffffff; border-bottom: 1px solid #555;">
            <table cellpadding="3" cellspacing="0" border="0" style="width: 100%;">
                <tr>
                    <td style="width: 100%;">
                    </td>
                    <td>
                        @Html.ImageButton("Novo", "Novo Registro", "button", "new-16.png", new Dictionary<string, object> { { "onclick", "$(this).parents('form:first')[0].action = $(this).parents('form:first')[0].action.replace('Save', 'Edit?id=0'); $(this).parents('form:first')[0].submit();" }, { "style", "width: 55px" } })
                    </td>
                    <td>
                        @Html.ImageButton("Gravar", "Gravar as Alterações", "submit", "save.png", new Dictionary<string, object> { { "style", "width: 55px" } })
                    </td>
                    <td>
                        @Html.ImageButton("Voltar", "Voltar", "button", "back.png", new Dictionary<string, object> { { "onclick", "CloseEdit();" }, { "style", "width: 55px" } })
                    </td>
                </tr>
            </table>
        </div>
        <div class="editContent">
            <div style="float: left; clear: both; margin-bottom: 5px;">
                <div style="float: left">
                    @Html.LabelFor(model => model.DataFeriado)
                </div>
                <div style="float: left; clear: both;">
                    @Html.TextBoxFor(model => model.DataFeriado)
                </div>
            </div>
    

    Alguém pode me ajudar a resolver esse erro?

    sábado, 6 de outubro de 2012 03:36

Respostas

  • Lucas. pode ser algo na gloabalização da sua aplicação.
    http://social.technet.microsoft.com/wiki/contents/articles/7149.asp-net-mvc-globalizando-aplicacoes-pt-br.aspx

    Tem que mudar no Web.Config, e também se tiver utilizando jQuery UI por exemplo, tem globalizar o componente.

    Dá uma olhada nesse artigo e ve se te ajuda.

    Abraços,


    André Baltieri
    MTAC – Microsoft Technical Audience Contributor

    Twitter: @andrebaltieri
    Blog: http://andrebaltieri.net

    sábado, 6 de outubro de 2012 12:42
  • Boa Tarde André

    Realmente havia esquecido esse detalhe. Para o pessoal que estiver em dúvida também, segue a resolução do problema:

    Adicione em Web.Config entre as tags <system.web> e </system.web> a seguinte linha:

     <globalization culture="pt-BR" uiCulture="pt-BR" enableClientBasedCulture="true" />

    Valeeu André pela ajuda!

    sábado, 6 de outubro de 2012 17:35

Todas as Respostas

  • Lucas. pode ser algo na gloabalização da sua aplicação.
    http://social.technet.microsoft.com/wiki/contents/articles/7149.asp-net-mvc-globalizando-aplicacoes-pt-br.aspx

    Tem que mudar no Web.Config, e também se tiver utilizando jQuery UI por exemplo, tem globalizar o componente.

    Dá uma olhada nesse artigo e ve se te ajuda.

    Abraços,


    André Baltieri
    MTAC – Microsoft Technical Audience Contributor

    Twitter: @andrebaltieri
    Blog: http://andrebaltieri.net

    sábado, 6 de outubro de 2012 12:42
  • Boa Tarde André

    Realmente havia esquecido esse detalhe. Para o pessoal que estiver em dúvida também, segue a resolução do problema:

    Adicione em Web.Config entre as tags <system.web> e </system.web> a seguinte linha:

     <globalization culture="pt-BR" uiCulture="pt-BR" enableClientBasedCulture="true" />

    Valeeu André pela ajuda!

    sábado, 6 de outubro de 2012 17:35