Здесь моя модель:
[Required]
[Display(Name = "I'm a:")]
public bool Sex { get; set; }
И мой шаблон редактора:
<div>
@Html.LabelFor(model => model.RegisterModel.Sex)
@Html.EditorFor(model => model.RegisterModel.Sex)
</div>
Однако это приведет к следующему:
<div>
<label for="RegisterModel_Sex">Soy:</label>
<input class="check-box" data-val="true" data-val-required="The Soy: field is required." id="RegisterModel_Sex" name="RegisterModel.Sex" type="checkbox" value="true" /><input name="RegisterModel.Sex" type="hidden" value="false" />
</div>
Как бы я сделал несколько приятных переключателей для мужчин и женщин? Какой тип данных должен был иметь моя модель?
Изменить:
Здесь мой новый обновленный код:
//Model:
[Required]
[Display(Name = "Soy:")]
public Gender Sex { get; set; }
}
public enum Gender
{
Male = 1,
Female = 2
}
//Viewmodel:
<fieldset>
<legend>Informacion Personal</legend>
<div>
@Html.LabelFor(model => model.RegisterModel.Nombre)
@Html.EditorFor(model => model.RegisterModel.Nombre)
</div>
<div>
@Html.LabelFor(model => model.RegisterModel.Apellido)
@Html.EditorFor(model => model.RegisterModel.Apellido)
</div>
<div>
@Html.LabelFor(model => model.RegisterModel.Sex)
@Html.EditorFor(model => model.RegisterModel.Sex)
</div>
<div>
@Html.LabelFor(model => model.RegisterModel.Carnet)
@Html.EditorFor(model => model.RegisterModel.Carnet)
</div>
</fieldset>
//EditorTemplate:
@model GoldRemate.WebUI.Models.Gender
@{
ViewBag.Title = "Gender";
}
<input type="radio" name="Sex" value="@Model" />
Когда я запускаю это, я получаю эту ошибку:
Элемент модели, переданный в словарь, имеет значение null, но этот словарь требует непустого элемента модели типа 'GoldRemate.WebUI.Models.Gender'.
Что вызывает это и как я могу показать значения моего перечисления в моей форме?