属性ApplyFormatInEditMode不起作用

时间:2013-02-26 14:45:56

标签: c# asp.net-mvc asp.net-mvc-3 validation attributes

我有下一个型号:

 public class MyModel
{
    [Display(Name = "My Date:")]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd.MM.yyyy}")]
    public System.DateTime Date { get; set; }
}

比我用编辑部分显示它:

@using (Html.BeginForm()){

@Html.DisplayFor(x=>x.Date)
@Html.EditorFor(x=>x.Date)
@Html.ValidationMessageFor(x=>x.Date)
<input type="submit" value="ok"/>}

我在控制器中找到了模型

 public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";
        var model = new MyModel {Date = DateTime.Now.AddDays(-1)};
        return View(model);
    }

    [HttpPost]
    public ActionResult Index(MyModel model)
    {
        if (ModelState.IsValid)
        {
            return View(model);

        }
        return View(model);
    }

显示enter image description here 我的本地机器格式是(mm / dd / yyyy),当我尝试提交此表单时,我的验证错误: enter image description here 我读到有人建议写我自己的绑定或我的验证器。问题是为什么我在设置ApplyFormatInEditMode = true时必须这样做。这是否意味着此属性无效!!!!

0 个答案:

没有答案