创建@ Html.RadioButtonFor(ASP.NET MVC4)

时间:2015-11-28 09:33:04

标签: asp.net-mvc asp.net-mvc-4 razor

这是任务模型

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>

0 个答案:

没有答案