我在寫一個簡單的ASP.Net頁面,其中有幾個字段,其中一個是超時。我想將其顯示爲毫秒(但仍希望有一個時間範圍而不是int /字符串)。我在寫下面的代碼:格式化時間段爲TotalMilliseconds
<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
上。
的'的ToString( 「FFF」)中使用'將返回格式化爲整個'TimeSpan'「 fff「,即幀/毫秒至3個字符。同樣,如果你打印「ss」,你會得到2個字符的秒數。你說你需要'TotalMilliseconds' - 這是正確的,並會給你'120000'作爲'double'。我不確定你在哪裏掙扎?你想要的輸出是什麼? –
@GeoffJames當你指定要綁定的值時,你不能調用屬性或方法。當我寫'asp-for =「Entry.Interval」'它會從中獲取一個值,然後應用'format'並呈現。然後,按照相反的順序提交它,解析該值並返回最終結果。我不能使用'TotalMilliseconds',因爲在這種情況下,它會正確呈現值,但在回發時無法解析它。 –
我明白了,所以您希望在頁面上顯示'Entry.Interval'(2分鐘)爲'120000'?什麼類型是Entry.Interval? 'TimeSpan'? –