У меня есть несколько объектов с длинными именами, и я бы хотел, чтобы они сокращали их в ярлыках, используя тег HTML abbr
. Я использую DataAnnotations для предоставления значения DisplayName для свойства в модели представления (или класса сущности).Помощник для LabelFor, который обертывает HTML-тег
Я вручную делать это как:
<label class="myClass"><abbr title="@Html.DisplayFor(m => m.Ssn)">SSN</abbr> @Html.EditorFor(m => m.Ssn)</label>
, но это становится боль. Я хотел бы создать помощника со следующим синтаксисом.
@Html.AbbrLabelFor(m => m.Ssn, "SSN")
и выходы:
<label for="Ssn"><abbr title="Social Security Number">SSN</abbr></label>
где "Номер социального обеспечения" является значением DisplayName, а второй аргумент в помощнике тега текст аббревиатуры. Таким образом, в основном просто добавление второго аргумента в микс.
примеров, которые я видел, как правило, канавы HtmlAttributes и такой, и я хотел бы сохранить эту функциональность, например:
@Html.AbbrLabelFor(m => m.Ssn, "SSN", new { @class="myClass" })
Как продлить существующие, полнофункциональный LabelFor для реализации этого, DfnLabel и т. Д.?
Это может немного помочь http://stackoverflow.com/questions/9885548/how-to-extend -mvc3-label-and-labelfor-html-helpers –