@for (var b = 0; b < 11; b++)
{
@Html.RadioButtonFor(model => Model.LikelyToReturn, @b, new { @checked = false })
}
如果我遗漏
new { @checked = false }
然后默认选中第一个单选按钮。如果我包含它,默认情况下会检查最后一个。默认情况下我怎样才能检查它们?
编辑后:
这是模型:
public class PatientSatisfactionSurveyPage : Page
{
//non important stuff removed
public int LikelyToReturn { get; set; }
public PatientSatisfactionSurveyPage() { }
}
答案 0 :(得分:1)
整数的默认值为0,因此它总是选择第一个值为0的值。要获得结果,必须设置Model.LikelyToReturn
可以为空。
public class yourClassName
{
public int? LikelyToReturn { get; set; }
}
答案 1 :(得分:1)
我能够通过自己的测试重现这一点。
选择最后一个单选按钮的原因是因为checked = false
。 checked
属性的存在意味着应该检查单选按钮。您可以使用checked = "casey-is-awesome!"
之类的内容,然后选择组中的一个单选按钮。
如果您不想选择任何按钮,则只需完全省略checked属性即可。如果您仍然遇到问题,请发布您的模型和任何相关的控制器代码。
修改强>
更改
public int LikelyToReturn { get; set; }
到
public int? LikelyToReturn { get; set; }
。
int
的默认值为0.由于0被用作第一个单选按钮的值,因此ASP.NET MVC框架会自动将其标记为已选中,因为该值与模型中的值匹配。通过切换到可为空的int,默认值将为null,因此框架不会自动将其标记为选中