将时间跨度格式设置为TotalMilliseconds
本文关键字:TotalMilliseconds 设置 格式 时间跨度 | 更新日期: 2023-09-27 18:04:26
我正在写一个简单的ASP。Net页面,其中我有几个字段,其中一个是用于超时。我想将其显示为毫秒(但仍然希望有一个时间跨度,而不是int/string)。我正在写下面的代码:
<input asp-for="Entry.Interval" asp-format="{0:fff}" type="text" class="form-control">
但是这里有一个问题。这种格式没有按预期工作。我期望TimeSpan.FromMinutes(2).ToString("fff")
返回120000
,但它返回000
。这显然是因为TimeSpan
使用Milliseconds
属性,在这个例子中是零,但我需要TotalMilliseconds
。
是否有一些格式强制显示整个TimeSpan
所需的单位?我真的不想写一个整数字段并手动映射到这个TimeSpan
.
您可以定义另一个仅用于绑定
的属性class Entry
{
public TimeSpan Interval { get; set; }
public int IntervalMS
{
get { return (int)Interval.TotalMilliseconds; }
set { Interval = TimeSpan.FromMilliseconds(value); }
}
//other stuff...
}
和
<input asp-for="Entry.IntervalMs" type="text" class="form-control">