Html.LabelFor
будет всегда попытаться напечатать имя свойства или значение метаданных свойства. Это так, что вам действительно нужно изменить метаданные в одном месте, а не обновлять все ваши представления, которые могут полагаться на это свойство.
Представьте себе, если у вас было 10 просмотров, ссылающихся на Namespace.Class.FirstName
, и вы просто ввели "Имя" во все ваши просмотры. Позже вы поймете, что вам нужно поддерживать другие культуры, и теперь вам нужно заменить все ссылки «Имя» на «Имя». Если вы использовали Html.LabelFor
везде, тогда вам нужно всего лишь сменить модель.
namespace Namespace {
class Class {
[Display(Name="Given name")]
public string FirstName {get;set;}
}
}
Теперь все готово, и везде, где вы указали, что свойство с Html.LabelFor
будет обновляться без необходимости проходить через весь ваш код. Кроме того, это упрощает поддержку различных языков и т. Д.