我正在编写一个简单的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
上手动映射。
答案 0 :(得分:4)
您可以定义另一个属性,仅用于绑定
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">