【问题标题】:Display in mvc table days from begin job date从开始工作日期开始以 mvc 表天数显示
【发布时间】:2018-01-20 16:53:44
【问题描述】:

我是 MVC 新手,我有一个带有员工属性的模型,其中一个属性是 public DateTime BeginJob { get; set; }。当用户创建新员工时,他输入员工开始在公司工作的日期。

我的问题是如何在表格中显示index.cshtml 中仅显示从现在开始的天数?我应该在哪里进行这些更改?在模型中?控制器?查看?

员工(在我的例子中是司机)模型:

public class Driver
{
   [Key]
    public int LicenceID { get; set; }
    public string FirstName { get; set; }
    ....
    public DateTime BeginJob { get; set; }
}

index.cshtml:

@model IEnumerable<try4.Models.Driver>
....

<table class="table">
    <tr>
        <th>@Html.DisplayNameFor(model => model.FirstName)</th>
        ....
        <th>@Html.DisplayNameFor(model => model.BeginJob)</th>
    </tr>

    @foreach (var item in Model) {
        <tr>
            <td>@Html.DisplayFor(modelItem => item.FirstName)</td>
            ....
            <td>@Html.DisplayFor(modelItem => item.BeginJob)</td>
        </tr>
    }
</table>

【问题讨论】:

  • “从现在开始的天数”是什么意思?从 BeginJob 到现在的天数?
  • 是的,如果今天是 12/08/2017 并且开始工作是 10/08/2017 那么我希望表格中的数字是 2 @DanNguyen
  • 使用TimeSpan - (item.BeginJob - DateTime.Today).TotalDays(最好创建一个视图模型,其中包含天数属性并在控制器方法(或模型)中进行计算
  • 如果BeginJob 的值是过去,您还想显示什么?
  • @StephenMuecke 我不明白你的问题,开始工作是过去的工作,即员工两年前/一年前等开始工作

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


【解决方案1】:

改变

@Html.DisplayFor(model => model.BeginJob)

@Html.DisplayFor(modelItem => (DateTime.Now - item.BeginJob).Days)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    相关资源
    最近更新 更多