Age的价值没有出现在我的项目中

时间:2012-02-06 19:17:37

标签: asp.net-mvc-3

我有这个型号:

 [DisplayName("Date of Birth:")]
    [Required(ErrorMessage = "Birth Date is Required.")]
    [DisplayFormat(NullDisplayText = "No Date of Birth is Selected.")]
    public DateTime BirthDate { get; set; }


    [DisplayName("Age:")]
    public int Age
    {
        get
        {
            DateTime now = DateTime.Today;
            int age = now.Year - BirthDate.Year;
            if (BirthDate > now.AddYears(-age)) age--;
            return age;
        }

    }

在我的部分视图中:

 <div class="editor">
 @Html.LabelFor(model => model.BirthDate)
 @Html.TextBoxFor(model => model.BirthDate, new { @class = "date" })
 @Html.ValidationMessageFor(model => model.BirthDate)
 </div>

 <div class="editor">
 @Html.LabelFor(model => model.Age)
 @Html.DisplayTextFor(model => model.Age)
 @Html.ValidationMessageFor(model => model.Age)
 </div>

生日一旦填满,Age就不会显示计算出的年龄。 如果我遗失了什么,请告诉我?

1 个答案:

答案 0 :(得分:0)

我很确定你需要提供一个setter和getter才能使绑定正常工作。

尝试为Age添加setter,即使它没有做任何事情。