Hólla大家,
我有一个强类型视图和一个int rating属性,我生成几个单选按钮,如下所示:
@Html.RadioButtonFor(m => m.Rating,1,new { id = "past_Rating_one"}) @Html.RadioButtonFor(m => m.Rating,2,new { id = "past_Rating_two"}) @Html.RadioButtonFor(m => m.Rating,3,new { id = "past_Rating_three"}) @Html.RadioButtonFor(m => m.Rating,4,new { id = "past_Rating_four"}) @Html.RadioButtonFor(m => m.Rating,5,new { id = "past_Rating_five"})
当然,我在每个单选按钮后都有标签,jquery用图像和这样的奇迹来构思它.
这一切都很好,但是当页面启动时,已经选择了id为past_Rating_one的单选按钮.关于如何在页面加载时取消选中所有单选按钮,我感到很困惑.
当然,可以用jQuery做,但我想用视图做.
我试过这个:
@Html.RadioButtonFor(m => m.Rating,new { id = "past_Rating_one",selected="none"})
萤火虫检查表明,作为一个财产,但仍然那个顽固的单选按钮(第一个)被顽固地检查,所以我想我会寻求你的帮助.
解决方法
尝试将Rating设置为viewmodel中的可为空对象,例如:
int? Rating { get; set; }
整数默认为零,因此在渲染单选按钮时将选择值0.我知道在你的例子中你不使用值0,但我怀疑你在你的项目中.否则我想不出选择了无线电按钮的原因.
如果评级是枚举,同样的事情适用.