MVC4 中的 RadioButton 列表绑定

RadioButton list Binding in MVC4

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

但我担心的是如何将radiobutton的初始值设置为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>

在控制器中执行的绑定是

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

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

    }

您将单选按钮绑定到 属性 CROCount(不是 RegistrationVenue),因此您的代码应该是

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

注意第二个参数是count(不是(int)count)所以你生成value="ONE"value="TWO"。另请注意,new { id = "", 删除了 id 属性,否则会导致重复的 id 属性无效 html.