Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC3 Razor实体框架-DataFormatString属性不工作_Asp.net_Asp.net Mvc 3_Razor_Entity Framework 4.1_Jquery Ui Datepicker - Fatal编程技术网

ASP.NET MVC3 Razor实体框架-DataFormatString属性不工作

ASP.NET MVC3 Razor实体框架-DataFormatString属性不工作,asp.net,asp.net-mvc-3,razor,entity-framework-4.1,jquery-ui-datepicker,Asp.net,Asp.net Mvc 3,Razor,Entity Framework 4.1,Jquery Ui Datepicker,当我尝试在模型中创建或保存日期时,验证将使用无效的日期格式,而不是使用DataFormatString(dd/MM/yyyy)中指定的格式。我看到框架试图仅以MM/dd/yyyy格式保存日期。我想在dd/MM/yyyy中输入/输出它 我有以下型号: public class MyModel { public int MyModelID { get; set; } [DataType(DataType.EmailAddress)] public

当我尝试在模型中创建或保存日期时,验证将使用无效的日期格式,而不是使用DataFormatString(dd/MM/yyyy)中指定的格式。我看到框架试图仅以MM/dd/yyyy格式保存日期。我想在dd/MM/yyyy中输入/输出它

我有以下型号:

public class MyModel {

        public int MyModelID { get; set; }

        [DataType(DataType.EmailAddress)]
        public string Email { get; set; }

        [DataType(DataType.Date)]
        [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
        public DateTime BornDate { get; set; }
}
我使用编辑模板来显示已编辑的数据:

@model DateTime?
@Html.TextBox("", Model.HasValue ? Model.Value.ToString("dd/MM/yyyy") : DateTime.Today.ToString("dd/MM/yyyy"), new { @class = "date" })
我使用以下代码注册了jquery日期选择器:

$(document).ready(function () {
    $('.date').datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: "dd/mm/yy"
    });
});
我有以下看法:

<div class="editor-field">
      @Html.EditorFor(model => model.DataNascimento)
      @Html.ValidationMessageFor(model => model.DataNascimento)
</div>

@EditorFor(model=>model.DataNascimento)
@Html.ValidationMessageFor(model=>model.DataNascimento)
我查阅了ContosoUniversity教程,碰巧是


感谢您的帮助。

解决此问题的一个更好的选择是编写您自己的ModelBinder要处理本地化问题,请阅读更多相关信息


属性
DisplayFormat
is仅指定BornData字段的显示方式(以及显示时的格式),例如,当使用
@Html.EditorFor
时,此解决方案有效,但链接中的示例已被弃用,因为IModelBinder接口现在具有另一个签名。另一种可能的解决方案包括在区域和语言中更改日期和时间的格式。