2

На моем взгляде, я использую помощник HTML:ASP.MVC конкатенация в Html.LabelFor хелперов или модель Display Name аннотации

@Html.LabelFor(model => model.name) 

Модель содержит аннотацию для получения отображаемого имени из ресурсов

[Display(Name = "name", ResourceType = typeof(Resources.Models.ModelName))] 

Мои ресурсы предоставляют переводы без ":". Если я ставлю «:» после того, как помощник Html.LabelFor он не будет помещен в маркирующем, но из него:

<label for="name">Name</label>: 

Есть ли способ, чтобы сцепить Постфиксную для помощника Html.LabelFor или дисплея Аннотации имени?

Да, я знаю, что могу решить эту проблему, не используя labelFor helper вообще или конкатенацию «:» с помощью jQuery, но я пытаюсь найти элегантное решение.

+0

Есть ли какой-либо атрибут «Значение»? – jbutler483

+0

Вы имеете в виду значение в файлах ресурсов? – Landeeyo

+0

Нравится (хотя это было для выпадающего списка): * @ Html.DropDownList ("CompanyID", null, htmlAttributes: new {@ class = "form-control", @Value = ViewBag.ChosenJB}) * – jbutler483

ответ

3

Вы можете использовать CSS, чтобы добавить: если вы даете этикетки имя класса:

@Html.LabelFor(model => model.name, { @class = 'postfix'}) 

CSS:

label.postfix:after 
{ 
    content: ":"; 
} 

Или вы можете создать помощника расширения и называют его

@Html.LabelForPostfix(model => model.name) 
+1

CSS: после решения кажется самым элегантным в сочетании с нет работа усилия. – Landeeyo