这是任务模型
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
}
}
这是我观点的一部分
<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>
但我不确定,这是创建单选按钮的正确方法吗?也许我应该为模型中的每个单选按钮获取标签(来自enum TaskPriority
)?我是MVC的新手,所以我不知道哪条路更好?
UPD 使用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>