我有一个html助手,我想设置默认值。
@Html.EditorFor(model => model.DateFrom)
如果model.DateFrom为null,设置助手默认值的语法是什么?
答案 0 :(得分: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日期选择器之类的东西可以让你有一个默认值,如果问题是如果你没有被选中则只返回任何内容。
答案 1 :(得分:2)
我相信唯一支持默认值的HTML Helper是Html.DropDownList()。它有一个optionLabel参数,允许您在下拉列表的顶部设置默认选项。例如:
Html.DropDownList("CustomerId", "Select a Customer")
正如Henry所说,如果您想在其他HTML帮助器上设置默认值,请在模型中设置或滚动自己的帮助器。