Мне нужна была именно эта функциональность, но я не хотел обойти и изменить все мои EditorFor
на что-то другое (у меня есть лот страниц:)).
Для этого я просто создал EditorTemplate
для String
(вы можете сделать это для других типов, если вам это нужно).
На основе свойств моей модели, которые я использую DisplayName
, например:
[DisplayName("Client Name")]
public string ClientName { get; set; }
Шаблон был просто:
@model string
@Html.TextBoxFor(m => m, new { @placeholder = ViewData.ModelMetadata.DisplayName })
И тогда мой код вызова остался прежним:
@Html.EditorFor(m => m.FirstName)
Кроме того, вы можете выполнить эту работу для браузеров, отличных от HTML5, с этим точным кодом. Все, что я сделал, это добавил ссылку на скрипт к этому замечательному плагину-заполнителю jQuery и все мои заполнители даже работают в IE6 (!!!!).