2011-10-25 11 views
2

デフォルトを設定したいhtmlヘルパーがあります。MVC3 HTMLHelperのデフォルト値

@Html.EditorFor(model => model.DateFrom) 

model.DateFromがnullの場合、ヘルパーのデフォルト値を設定する構文は何ですか?

答えて

4

私はEditorForを使用するとデフォルト値を設定することはできません。モデル上のアクセサに設定することを検討してください。

他のタイプ(TextBoxForなど)で行うことデフォルト値ではなく値を設定できます。だから、実行する必要があります:

@if(Model.something == null) 
{ 
    @Html.TextBoxFor(m => m.ID, new { @Value = "Value!"}) 
} else { 
    @Html.TextBoxFor(m => m.ID) 
} 

を私がreccomendれるように:問題は、あなただけの何も掲示されていないということであれば、このようなjqueryの日付ピッカーとしてのものを使用して

private DateTime? _date; 
public DateTime? date { 
get { 
    if(_date == null) 
     _date = DateTime.Now; 
    return _date; 
} 
set { 
    _date = value; 
} 
} 

は、デフォルト値を持つことができます選択されていない場合は戻る。

+0

@Henry ...ありがとう。私はModelクラスで作業をしました。偉大な働きました... http://stackoverflow.com/questions/7891584/mvc3-default-value-for-a-datetime-property – MikeTWebb

+0

を参照してください良い、喜んで聞いてください。 – Henry

2

デフォルト値をサポートするHTMLヘルパーは、Html.DropDownList()だけです。 optionLabelパラメータを使用すると、ドロップダウンリストの上部にデフォルトオプションを設定できます。例えば:ヘンリーとして

Html.DropDownList("CustomerId", "Select a Customer") 

あなたは、他のHTMLヘルパーにデフォルト値を設定したモデルの中でそれを設定したり、独自のヘルパーをロールバックしたい場合は、言及しました。