Asp.net mvc DateTime的DataFormatString

Asp.net mvc DateTime的DataFormatString,asp.net-mvc,asp.net-mvc-3,datepicker,jquery-ui-datepicker,datetime-format,Asp.net Mvc,Asp.net Mvc 3,Datepicker,Jquery Ui Datepicker,Datetime Format,我试图在DateTime属性中应用一种格式,但它不起作用。我有这个: [DataType(DataType.Date)] [DisplayFormat(DataFormatString = "dd/MM/yyyy", ApplyFormatInEditMode = true)] public DateTime DataInscricao { get; set; } 我尝试了很多方法(更改DataFormatString),但没有一种有效。我的日期字段也使用datepicker 我还尝试应用jQ

我试图在DateTime属性中应用一种格式,但它不起作用。我有这个:

[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "dd/MM/yyyy", ApplyFormatInEditMode = true)]
public DateTime DataInscricao { get; set; }
我尝试了很多方法(更改DataFormatString),但没有一种有效。我的日期字段也使用datepicker

我还尝试应用jQuery中的格式:

$("#DataInscricao").datepicker( {dateFormat: 'dd-mm-yy'});
它几乎可以工作,格式应用在文本框中,但当我试图保存日期格式时丢失了。如果我输入的日期类似于2013年1月12日,它将更改为1/01/0001。在GridView中,格式不同(mm dd yyyy),文本框的掩码工作错误

我真的不知道该怎么做才能使它起作用。有人能帮我解决这个问题吗

谢谢

更新

这是控制器中返回要编辑的实体的方法

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>
}
@model PNCQ2013.Domain.Entities.agendamentomanutenco
@{
ViewBag.Title=PNCQ2013.Domain.Resources.itemparimonio.itemparimonio.TitleAgendamento+“::PNCQ-国家质量控制计划”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
@使用(Ajax.BeginForm(“Salvar”、“ManutencaoPreventiva”、null、新的AjaxOptions{HttpMethod=“POST”、LoadingElementId=“loading”}、新的{@class=“formee”、@id=“frmAgendamentoManutencao”、enctype=“multipart/form data”})
{
@Html.HiddenFor(m=>m.Id)
@PNCQ2013.Domain.Resources.itemparimonio.itemparimonio.TitleAgendamento
@LabelFor(m=>m.ItemPatrimonoid)
@Html.DropDownListFor(m=>m.itemparimonoid,新选择列表(PNCQ2013.Web.Content.Helpers.Util.ListaItemPratrimonio().OrderBy(a=>a.numeriopatrimonio),“Id”,“numeriopatrimonio”),Resources.Geral.Selecione)
@Html.ValidationMessageFor(m=>m.ItemPatrimonoid)
@LabelFor(m=>m.DataInscricao)
@TextBoxFor(m=>m.DataInscricao,new{@class=“datepicker”})
@Html.ValidationMessageFor(m=>m.DataInscricao)
@LabelFor(m=>m.FrequenciaManutencaoId)
@Html.DropDownListFor(m=>m.frequenciamanuencaoid,PNCQ2013.Web.Content.Helpers.HtmlExtensions.ToSelectList(typeof(PNCQ2013.Domain.Enumerators.frequenciamanuencao),“”),Resources.Geral.Selecione)
@Html.ValidationMessageFor(m=>m.FrequenciaManutencaoId)
}

像这样试试

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

听起来将
文本框
中的字符串中的日期指定给
日期时间
时出现了问题,而不是格式问题,您可能希望将其设置为类似2013年12月1日的格式问题。你能发布视图和控制器代码吗?@Sravan,这不适用于编辑/创建视图。