gpt4 book ai didi

c# - 如何在 MVC Razor 中显示 TimeSpan

转载 作者:行者123 更新时间:2023-11-30 18:52:48 25 4
gpt4 key购买 nike

所以我有一个视频的持续时间(以秒为单位),我想在 Razor 中显示该持续时间。

我目前正在使用

@TimeSpan.FromSeconds(item.Duration).ToString()

但是我使用的其余代码使用

@Html.DisplayFor(modelItem => item.Description)

有没有办法让持续时间(目前是一个整数)显示为时间跨度?使用 @Html.DisplayFor 语法。 item.duration 正在从一个 Entity Framework 模型中拉取,该模型在数据库中作为一个 int 保存。

最佳答案

约翰,

创建您自己的显示模板。为此,请按照下列步骤操作:

  1. 在 Views/Shared 下创建一个名为 DisplayTemplates 的文件夹
  2. 在该新文件夹下,创建一个名为 TimeSpan.cshtml 的分部 View
  3. 现在,在您的 View 中,只要遇到时间跨度的模型属性,TimeSpan DisplayTemplate 就会自动呈现它。
  4. 为您的模型添加一个新的 get 属性。

模型编辑(添加以下内容):

public TimeSpan MyTimeSpanProperty
{
get
{
return TimeSpan.FromSeconds(Duration);
}
}

时间跨度.cshtml

@model TimeSpan
@string.Format("{0}:{1}:{2}", Model.Hours, Model.Minutes, Model.Seconds)

在您的 View 中调用为

@Html.DisplayFor(m => m.MyTimeSpanProperty)

这将显示为 3:24:16 等。

这就是它的全部内容(虽然它假设您将传递一个 TimeSpan 类型的属性,所以如果可能的话,看看您是否可以对您的模型进行微小的更改!!)

关于c# - 如何在 MVC Razor 中显示 TimeSpan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11229365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com