У меня есть эта модель представления:
public class ProjectViewModel
{
[Display(Name = "End date")]
public DateTime ProjectEnd { get; set; }
public string ProjectType { get; set; }
// more properties
}
Я хочу, чтобы отображаемое имя для ProjectEnd
менялось в зависимости от значения ProjectType
. ProjectType
не является редактируемым пользователем полем, оно устанавливается только программно, в контроллере.
Я пробовал это:
[Display(Name = (ProjectType == "project"?"End date":"Due date"))]
... но ProjectType
выдает эту компиляциюошибка времени:
Ссылка на объект требуется для нестатического поля, метода или свойства 'ProjectViewModel.ProjectType'
Возможно ли то, что я пытаюсь сделать? Конечно, я мог бы просто жестко закодировать метку в представлении, но я бы не хотел.
Другое, немного лучшее решение могло бы состоять в том, чтобы иметь два свойства DateTime
и, в зависимости от значения ProjectType
, просто покажите одно или другое в представлении.