2011-01-07 10 views
6

私はDateTime私のモデルのプロパティを持っています。プロパティにDateTime.MinValueが含まれている場合、空の<input />(代わりに、'0001-01-01 00:00:00'を含む)を取得したいと思います。Html.EditorForとカスタムフォーマット

これは可能ですか?

答えて

7

一つの解決策は、(System.DateTime用)強く型付けされた部分ビューを追加することでしたし、 Views/Shared/EditorTemplatesディレクトリに入れてください。ファイルDateTime.cshtmlはこのように非常に多くなります。

@model System.DateTime 
@Html.TextBox("", Model == DateTime.MinValue ? "" : Model.ToShortDateString()) 

しかしこれはすべてあなたのDateTimeフィールドをフォーマットします。

詳細はthisの記事を参照してください。

2

extension helper方法書く:あなたから、その後

public static class DateTimeHelper 
{ 
    public static string MyEditor(this HtmlHelper helper, DateTime date) 
    { 
     if (date.Equals(DateTime.MinValue)) 
     { 
      // return your an empty input: helper.TextBox ... 
     } 
     // return helper.EditorFor your datetime 
    } 
} 

ビュー:私は私のために働い見つけた

<%= Html.MyEditor(Model.YourDateTimeField) %> 
関連する問題