RadioButton列表在MVC4中绑定

时间:2015-12-07 10:14:19

标签: asp.net-mvc-4 data-binding enums radiobuttonlist

我有一个radiobuttonList,它绑定来自Enum Class的数据,并且它在视图中正常工作。

但是我关心的是如何将放射性按钮的初始值设置为CROCount.ONE。我试图以下列方式设置初始值,但无法获得所需的结果。

public enum CROCount
    {
        ONE = 1,
        TWO = 2
    }

ViewModel

public class RegistraionVM
{      
    ....  
    public EnumClass.CROCount CROCount { get; set; }       
}

我按如下方式生成了单选按钮列表。

<div>
    @foreach (var count in Enum.GetValues(typeof(SMS.Models.EnumClass.CROCount)))
    {
         <label style="width:75px">
              @Html.RadioButtonFor(m => m.RegistrationVenue, (int)count, 
              new { @class = "minimal single" })
              @count.ToString()
         </label>
    }
</div>

在Controller中执行的绑定是

public ActionResult Index(int walkInnId)
    {
        try
        {
            var _studentReg = new RegistraionVM
            {
               CROCount=EnumClass.CROCount.ONE                   

            };                               
            return View(_studentReg);
        }
        catch (Exception ex)
        {
            return View("Error");
        }

    }

1 个答案:

答案 0 :(得分:1)

将您的单选按钮绑定到属性CROCount(而非RegistrationVenue),以便您的代码

@Html.RadioButtonFor(m => m.CROCount, count, new { id = "", @class = "minimal single" })

请注意,第二个参数为count(不是(int)count),因此您可以生成value="ONE"value="TWO"。另请注意,new { id = "",会删除id属性,否则会导致重复的id属性,这些属性无效。