Свойство Display принадлежит Model, поэтому оно должно содержать обычные текстовые данные, без формата.
Если вы хотите добавить формат имени, вы можете сделать это
Напишите метод расширения, чтобы получить значение из отображаемого имени
public static MvcHtmlString DisplayNameFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, string templateName)
{
Expression expressionBody = expression.Body;
if (expressionBody is MemberExpression)
{
MemberExpression memberExpression = (MemberExpression)expressionBody;
string propertyName = memberExpression.Member.Name;
return html.DisplayFor(expression, templateName, new { Message = html.ViewData.ModelMetadata.Properties.Single(p => p.PropertyName == propertyName).Name});
}
}
Вид:
@Html.DisplayNameFor(model => model.FirstName, "_NameTemplate")
Шаблон: _NameTemplate.cshtml
<span>@ViewData["Message"]</span>
Надеюсь, это полезно для вас