49

私のモデルでは、プロパティの 1 つに次の DataAnnotations があります

[Required(ErrorMessage = "*")]
[DisplayFormat(DataFormatString = "{0:d}")]
[DataType(DataType.Date)]
public DateTime Birthdate { get; set; }

必要な注釈はうまく機能します。他の2つを追加して、時間を削除しようとしました。を使用してビューの入力にバインドされます

<%=Html.TextBoxFor(m => m.Birthdate, new { @class = "middle-input" })%>

ただし、ビューが読み込まれるたびに、入力ボックスに時間が表示されます。DataAnnotations を使用してこれを削除する方法はありますか?

4

3 に答える 3

90

[DisplayFormat] 属性は EditorFor/DisplayFor でのみ使用され、TextBoxFor のような生の HTML API では使用されません。

于 2010-01-05T07:56:14.903 に答える
29

Brad が言ったように、TextBoxFor では機能しませんが、EditorFor で機能させたい場合は、ApplyFormatInEditMode を追加することも忘れないでください。

[DataType(DataType.Date), DisplayFormat( DataFormatString="{0:dd/MM/yy}", ApplyFormatInEditMode=true )]
public System.DateTime DateCreated { get; set; }

次に使用します

@Html.EditorFor(model => model.DateCreated)
于 2012-04-30T09:36:00.780 に答える