Я пытаюсь применить формат в атрибуте DateTime, но он не работает. У меня есть это:DataFormatString for DateTime
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "dd/MM/yyyy", ApplyFormatInEditMode = true)]
public DateTime DataInscricao { get; set; }
Я пытался сделать это во многих отношениях (изменение DataFormatString), но ни один из них не работают. Я также использую datepicker для полей Date.
Я также пытался применить формат из JQuery:
$("#DataInscricao").datepicker({dateFormat: 'dd-mm-yy'});
Это почти работает, формат применяется в TextBox, но когда я пытаюсь сохранить формат даты теряется. Если я введу дату, как 12/01/2013, она изменится на 01/01/0001. В GridView формат отличается (mm-dd-yyyy), а маска TextBox работает неправильно.
Я действительно не знаю, что делать, чтобы заставить его работать. Есть ли кто-нибудь, кто может помочь мне в этом вопросе?
Спасибо!
UPDATE
Это метод в контроллере, который возвращает объект для редактирования.
public ActionResult Editar(int id)
{
var agendamento = _repository.GetSingle(a => a.Id == id);
return View("Criar", agendamento);
}
И это Вид:
@model PNCQ2013.Domain.Entities.AgendamentoManutencao
@{
ViewBag.Title = PNCQ2013.Domain.Resources.ItemPatrimonio.ItemPatrimonio.TitleAgendamento + " :: PNCQ - Programa Nacional de Controle de Qualidade";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="section">
@using (Ajax.BeginForm("Salvar", "ManutencaoPreventiva", null, new AjaxOptions { HttpMethod = "POST", LoadingElementId = "loading" }, new { @class = "formee", @id = "frmAgendamentoManutencao", enctype = "multipart/form-data" }))
{
@Html.HiddenFor(m => m.Id)
<div class="box">
<div class="title">
@PNCQ2013.Domain.Resources.ItemPatrimonio.ItemPatrimonio.TitleAgendamento
</div>
<div class="content nopadding">
<div class="grid-4-12">
@Html.LabelFor(m => m.ItemPatrimonioId)
@Html.DropDownListFor(m => m.ItemPatrimonioId, new SelectList(PNCQ2013.Web.Content.Helpers.Util.ListaItemPratrimonio().OrderBy(a => a.NumeroPatrimonio), "Id", "NumeroPatrimonio"), Resources.Geral.Selecione)
@Html.ValidationMessageFor(m => m.ItemPatrimonioId)
</div>
<div class="grid-4-12">
@Html.LabelFor(m => m.DataInscricao)
@Html.TextBoxFor(m => m.DataInscricao, new { @class = "datepicker" })
@Html.ValidationMessageFor(m => m.DataInscricao)
</div>
<div class="grid-4-12">
@Html.LabelFor(m => m.FrequenciaManutencaoId)
@Html.DropDownListFor(m => m.FrequenciaManutencaoId, PNCQ2013.Web.Content.Helpers.HtmlExtensions.ToSelectList(typeof(PNCQ2013.Domain.Enumerators.FrequenciaManutencao), ""), Resources.Geral.Selecione)
@Html.ValidationMessageFor(m => m.FrequenciaManutencaoId)
</div>
</div>
</div>
}
Похоже, что есть проблема присвоения даты из строки в 'TextBox 'к' DateTime', а не к проблеме с форматированием, вы ожидаете, что проблема форматирования будет установлена на что-то вроде 01/12/2013. Можете ли вы опубликовать представление и код контроллера? –