之前有没有人经历过这种情况,背后有什么原因?
@Html.RadioButtonFor(m => m.SelectedWishlistId, 0, new { id = "newWishlist" })
上述行优先于
@Html.RadioButtonFor(m => m.SelectedWishlistId, wishlist.Id, new { @checked = "checked"})
即使未设置checked
属性。
答案 0 :(得分:1)
@Html.RadioButtonFor(x => x.Id, value)
如果x.Id
等于value
,即使未指定此属性,也会设置checked
属性。这是因为RadioButtonHelper
有自己的自定义检查:
isChecked = model != null &&
!String.IsNullOrEmpty(name) &&
String.Equals(model.ToString(), valueString, StringComparison.OrdinalIgnoreCase);
然后:
if (isChecked)
{
tagBuilder.MergeAttribute("checked", "checked");
}