2011-10-25 55 views
2

我有一個html helper,我想設置默認值。MVC3 HTMLHelper默認

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

如果model.DateFrom爲null,那麼設置helper的默認值的語法是什麼?

回答

4

我不認爲使用EditorFor你可以設置一個默認值。考慮將它設置在模型的訪問器中?

要在其他類型(TextBoxFor等)上做它你可以設置一個值,但不是默認值。所以,你需要做的:

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

正如我會建議:

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

使用的東西,如jQuery的日期選擇器可讓您有一個默認值,如果問題是,你只是張貼什麼如果沒有被選中,則返回。

+0

@亨利......謝謝。我在Model類中完成了這項工作。工作很好...看到http://stackoverflow.com/questions/7891584/mvc3-default-value-for-a-datetime-property – MikeTWebb

+0

好聽,很高興幫助。 – Henry

2

我相信唯一支持默認值的HTML Helper是Html.DropDownList()。它有一個optionLabel參數,允許您在下拉列表的頂部設置默認選項。例如:

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

正如亨利,提到如果你想設置的其他HTML傭工的默認值,模型中的設置或推出自己的幫手。