MVC3 HTMLHelper по умолчанию - PullRequest
       14

MVC3 HTMLHelper по умолчанию

2 голосов
/ 25 октября 2011

У меня есть помощник html, для которого я хотел бы установить значение по умолчанию.

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

Какой синтаксис используется для установки значения помощника по умолчанию, если model.DateFrom имеет значение null?

Ответы [ 2 ]

4 голосов
/ 25 октября 2011

Я не думаю, что с помощью 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 Date Picker, позволит вам иметь значение по умолчанию, если проблема в том, что выпросто ничего не публикуем, если он не был выбран.

2 голосов
/ 25 октября 2011

Я считаю, что единственным помощником HTML, который поддерживает значение по умолчанию, является Html.DropDownList (). Он имеет параметр optionLabel, который позволяет вам установить параметр по умолчанию в верхней части раскрывающегося списка. Например:

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

Как упомянул Генри, если вы хотите установить значение по умолчанию для других помощников HTML, задайте его в модели или сверните своего собственного помощника.

...