This is Task model
namespace TaskManager.Models
{
public class Task
{
private const int DefaultTaskPriority = 1;
//some other properties
[DefaultValue(DefaultTaskPriority)]
public TaskPriority Priority { get; set; }
}
public enum TaskPriority
{
[Display(Name = "Low")]
Low = 0,
[Display(Name = "Default")]
Normal = 1,
[Display(Name = "High")]
High = 2,
[Display(Name = "Extreme")]
Extreme = 3
}
}
and this is part of my view
<div class="form-group">
@Html.LabelFor(u => u.Priority)
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, 0) Low</label>
</div>
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, 1, new { Checked = "checked" }) Default</label>
</div>
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, 2) High</label>
</div>
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, 3) Extreme</label>
</div>
@Html.ValidationMessageFor(u => u.Description, null, new {@class = "error"})
</div>
but I'm not sure, is it the right way to create radio buttons? Maybe I should get label for every radio button from model (from enum TaskPriority
)? I'm new in MVC so I don't know which way is better?
UPD View using values from enum TaskPriority
<div class="form-group">
@Html.LabelFor(u => u.Priority)
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, TaskPriority.Low) Low</label>
</div>
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, TaskPriority.Normal) Normal</label>
</div>
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, TaskPriority.High) High</label>
</div>
<div class="radio">
<label>@Html.RadioButtonFor(model => model.Priority, TaskPriority.Extreme) Extreme</label>
</div>
@Html.ValidationMessageFor(u => u.Description, null, new {@class = "error"})
</div>