3
在我的模型,字段長度是一個具有以下數據註釋的時間跨度:ASP.NET MVC 3:DisplayFormat數據詮釋時間跨度導致出現FormatException
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{h\\:mm}")]
我每建議here使用。我希望生成的文本框以小時和分鐘顯示長度的當前值。
但是,在MVC 3中,這似乎不再起作用,因爲它會導致FormatException
。無論長度是否具有現有值,都會發生此異常。
Visual Studio添加了「當將字符串轉換爲DateTime時,在將每個變量放入DateTime對象之前解析字符串以獲取日期。」我甚至不知道這意味着什麼。我的變量是一個TimeSpan,而不是一個字符串,所以它爲什麼試圖首先進行字符串轉換?報告異常的對話框提供了一個死鏈接。
這是我認爲的代碼:發生在Html.EditorFor()
<div class="editor-label">
@Html.LabelFor(model => model.Length)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Length)
@Html.ValidationMessageFor(model => model.Length)
</div>
的異常。我不確定我在這裏錯過了什麼,有沒有人有任何建議?謝謝!
啊,謝謝!我已經否認'0:'會顯示天數。這是C#的WriteLine格式的遺留問題嗎? – 2012-02-19 05:09:06
不完全。 WriteLine使用string.Format(),就像DisplayFormatAttribute一樣。事實上,.NET中的幾乎所有格式最終都會在某處或某處使用string.Format。 – 2012-02-19 05:42:02