在Razor中计算年龄(ASP.NET mvc)

时间:2017-05-26 04:06:26

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor

我有一张带桌子的视图

以下是视图的代码:

 @foreach (var item in Model)
{
    <tr>
        <td class="point">
            @(rowNo += 1)
        </td>
        <td class="FIO" style="text-align: center; font-size: 16px; cursor:pointer">@Html.DisplayFor(modelItem => item.FIO) @Html.Hidden("clientEmail", item.FIO)</td>

        <td style="text-align: center; font-size: 16px;">
            @Html.DisplayFor(modelItem => item.Email)
        </td>
        <td style="text-align: center; font-size: 16px;">
            @Html.DisplayFor(modelItem => item.City)
        </td>
        <td style="text-align: center; font-size: 16px;">
            @Html.DisplayFor(modelItem => item.Birthday)
        </td>
        <td style="text-align: center; font-size: 16px;">
            @Html.DisplayFor(modelItem => item.Salary)
        </td>
        <td style="text-align: center; font-size: 16px;">
            @Html.DisplayFor(modelItem => item.English)
        </td>
      <td style="text-align: end;">
            <a href='@Url.Action("Edit", "Interwier", new {id = item.Interwier_id})'>
                <img src='@Url.Content("~/Images/Edit.png")' />
            </a>
            <a href='@Url.Action("Delete", "Interwier", new {id = item.Interwier_id})'>
                <img src='@Url.Content("~/Images/Delete.png")' />
            </a>
        </td>
    </tr>
}

此代码与年龄相关:

<td style="text-align: center; font-size: 16px;">
    @Html.DisplayFor(modelItem => item.Birthday)
</td>

它从数据库返回一年。我需要表现出年龄。

我如何正确地做到这一点?

1 个答案:

答案 0 :(得分:1)

根据您的说明,您的Birthday是年值:

首先在视图中使用的模型中添加一个新属性,以生成Age

public class ModelName
{
    // other properties
    // original Birthday property
    public int Birthday {get;set;}

    // get age by subtracting current year with Birthday year.
    public int Aget {get {return DateTime.Now.Year - Birthday;}}
}

然后在你看来

将显示Birthday更改为Age

 <td style="text-align: center; font-size: 16px;">
            @Html.DisplayFor(modelItem => item.Age)
 </td>