2017-05-26 149 views
0

我有一个表计算年龄在剃刀(ASP.NET MVC)

这里视图是查看的代码:

@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> 

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

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

+2

通过向计算它的模型添加属性? –

+0

我可以在前端做,而不是在后端?@SamiKuhmonen –

+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;}} 
} 

那么在你看来

更改显示BirthdayAge

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

谢谢你的帮助! –