У меня есть Enum Called ActionStatus, который имеет 2 возможных значения open = 0 и closed = 1
public enum ActionStatus
{
Open,
Closed
}
Я хочу создать группу переключателей в моем редактировании и создать представления, которые используют enum для заполнения радиокнопок: a) значение по умолчанию в представлении create и b) выбранный в данный момент параметр в представлении редактирования.
Мне нужен метод расширения для этого, и кто-нибудь уже создал его?
ИЗМЕНИТЬ: После ответа Даринса ниже мой класс Model
namespace Actioner.Models
{
[MetadataType(typeof(MeetingActionValidation))]
public class MeetingAction
{
[Key]
public int MeetingActionId { get; set; }
[Required]
[Display(Name = "Description")]
public string Description { get; set; }
[Required]
[Display(Name = "Review Date")]
public DateTime ReviewDate { get ;set; }
public int Status{ get; set; }
[ScaffoldColumn(false)]
public int MeetingId { get; set; }
//public virtual Meeting Meeting { get; set; }
//public virtual ICollection<User> Users { get; set; }
public virtual ICollection<ActionUpdate> ActionUpdates { get; set; }
public MeetingActionStatus ActionStatus { get; set; }
}
public enum MeetingActionStatus
{
Open,
Closed
}
и это мой взгляд
@model Actioner.Models.MeetingAction
@using Actioner.Helpers
<div class="editor-label">
@Html.LabelFor(model => model.Description)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ReviewDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ReviewDate)
@Html.ValidationMessageFor(model => model.ReviewDate)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Status)
</div>
<div class="editor-field">
@Html.RadioButtonForEnum(x => x.ActionStatus)
</div>
И это мое действие для контроллера управления
public virtual ActionResult Create(int id)
{
var meetingAction = new MeetingAction
{
MeetingId = id,
ReviewDate = DateTime.Now.AddDays(7)
};
ViewBag.Title = "Create Action";
return View(meetingAction);
}
Перечень отображается в представлении отлично, но выбранная в данный момент опция не сохраняется в базе данных