MVC3 HTMLHelper默认值

时间:2011-10-25 15:14:18

标签: asp.net-mvc-3 html-helper

我有一个html助手,我想设置默认值。

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

如果model.DateFrom为null,设置助手默认值的语法是什么?

2 个答案:

答案 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帮助器上设置默认值,请在模型中设置或滚动自己的帮助器。