我有一个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");
}
}
答案 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
属性,这些属性无效。