@Vug
Новичок в .NET

C# как с помощью атрибута изменить вывод свойства типа bool?

Вечер добрый.
Не подскажите, как с помощью атрибута в C# изменить вывод типа bool в html разметку?
Код класса:
public class Student
{
        [DisplayName("Пол")]
        public bool? Gender { get; set; }
        [DataType(DataType.Date)]
        [DisplayName("Дата рождения")]
        public DateTime? Birthday { get; set; }
}

Код во View:
@model NameSpace.Models.DataModel.Student

@Html.EditorForModel(new { htmlAttributes = new { @class = "form-control" } })

При таком коде получается следующий результат:

5a77062e3edb1470356381.jpeg
Хотел бы узнать, как можно изменить код так, чтобы вместо ложь/истина показывало, например, мужской/женский
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
@Vug Автор вопроса
Новичок в .NET
Нашел следующее решение:
Добавляем следующий атрибут в класс [UIHint("Gender")]
public class Student
{
        [DisplayName("Пол")]
        [UIHint("Gender")]
        public bool? Gender { get; set; }
        [DataType(DataType.Date)]
        [DisplayName("Дата рождения")]
        public DateTime? Birthday { get; set; }
}

Теперь переопределим шаблоны отображения и редактирования
Ссылка
В папке Views в папку Shared создадим новую папку EditorTemplates.
Добавим в эту папку новый View: Gender.cshtml
@model bool?
    
<select class="list-box tri-state" id="Gender" name="Gender"><option value="">Не задано</option>
    <option selected="selected" value="true">Мужской</option>
    <option value="false">Женский</option>
</select>


5a771f7a0286b572674673.jpeg
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы