3

DateTime 属性にフォーマットを適用しようとしていますが、うまくいきません。私はこれを持っています:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "dd/MM/yyyy", ApplyFormatInEditMode = true)]
public DateTime DataInscricao { get; set; }

私は多くの方法(DataFormatStringを変更する)でそれをやろうとしましたが、どれも機能していません。日付フィールドにも日付ピッカーを使用しています。

また、jQuery からフォーマットを適用しようとしました。

$("#DataInscricao").datepicker( {dateFormat: 'dd-mm-yy'});

それはほとんど機能します。形式は TextBox に適用されますが、保存しようとすると日付形式が失われます。12/01/2013 のような日付を入力すると、01/01/0001 に変わります。GridView では、形式が異なり (mm-dd-yyyy)、TextBox のマスクが正しく機能していません。

私は本当にそれを機能させるために何をすべきかわかりません。この問題で私を助けることができる人はいますか?

ありがとう!

アップデート

これは、編集するエンティティを返すコントローラーのメソッドです。

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

4

1 に答える 1