Новый проект MVC включает Site.css, который указывает:
/* Styles for editor and display helpers
----------------------------------------------------------*/
.display-label,
.editor-label
{
font-weight: bold;
margin: 1em 0 0 0;
}
Однако, когда я использую LabelFor(m=>m.SomeField)
, сгенерированный html не включает атрибут класса:
<label for="SomeField">Some Field</label>
Я видел другие примеры, когда люди используют LabelFor, и сгенерированный html действительно включает атрибут class="display-label"
.
Должен ли LabelFor генерировать этот атрибут класса?Если это так, то почему может быть, что мой не является?
У меня есть собственный DataAnnotationsModelMetadataProvider, но он все еще вызывает базу:
protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName)
{
var metadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName);
if (metadata.DisplayName == null)
metadata.DisplayName = propertyName.ToTitleCaseFromCamel();
return metadata;
}