0

で構成される DateTimeOffset フィールドに EditorTemplate を使用しています...

@model DateTimeOffset?
@Html.TextBox("", String.Format("{0:u}", Model.HasValue ? Model : DateTimeOffset.UtcNow), new { @class = "datepicker" })

これは私のフォームの 90% で機能し、次のような値が得られます2012-07-31 11:30:09Z。ただし、書式設定を適用しないフォームが 1 つあります。作業入力フィールドと非作業入力フィールドの HTML 出力は同じです。

働く...

<input class="datepicker hasDatepicker" data-val="true" data-val-required="&amp;#39;Launch Time&amp;#39; must not be empty." id="LaunchTime" name="LaunchTime" type="text" value="2012-07-31 11:30:09Z">

非稼働...

<input class="datepicker hasDatepicker" data-val="true" data-val-required="&amp;#39;Launch Time&amp;#39; must not be empty." id="LaunchTime" name="LaunchTime" type="text" value="07/31/2012 11:30:09 +00:00">

問題を解決することがわかった唯一のことは、テキストボックスの名前フィールドを変更することです...

@Html.TextBox("asdf", String.Format("{0:u}", Model.HasValue ? Model : DateTimeOffset.UtcNow), new { @class = "datepicker" })

ただし、これにより入力フィールドが次のように変更されます...

<input class="datepicker hasDatepicker" id="LaunchTime_asdf" name="LaunchTime.asdf" type="text" value="2012-07-31 11:30:09Z">

これにより、フォームの送信が中断され、検証ルールが削除されます。

モデル...

[DisplayFormat(DataFormatString = "{0:u}" , ApplyFormatInEditMode = true)]
public DateTimeOffset LaunchTime { get; set; }
4

1 に答える 1

0

問題は、datetime 値で機能するように見える唯一の形式が yyyy-mm-dd であることです。/s は機能しません。

于 2012-08-10T15:35:52.530 に答える