Asp.net mvc 如果该值设置为0,则默认情况下选中Mvc Razor RadioButton
以前有没有人经历过这种情况,背后有什么原因Asp.net mvc 如果该值设置为0,则默认情况下选中Mvc Razor RadioButton,asp.net-mvc,razor,Asp.net Mvc,Razor,以前有没有人经历过这种情况,背后有什么原因 @Html.RadioButtonFor(m => m.SelectedWishlistId, 0, new { id = "newWishlist" }) 以上行优先于 @Html.RadioButtonFor(m => m.SelectedWishlistId, wishlist.Id, new { @checked = "checked"}) 即使未设置已选中属性 @Html.RadioButtonFor(x => x.I
@Html.RadioButtonFor(m => m.SelectedWishlistId, 0, new { id = "newWishlist" })
以上行优先于
@Html.RadioButtonFor(m => m.SelectedWishlistId, wishlist.Id, new { @checked = "checked"})
即使未设置已选中
属性
@Html.RadioButtonFor(x => x.Id, value)
如果x.Id
等于value
,则即使未指定该属性,也将设置选中的
属性。这是因为RadioButtonHelper
有自己的自定义检查:
isChecked = model != null &&
!String.IsNullOrEmpty(name) &&
String.Equals(model.ToString(), valueString, StringComparison.OrdinalIgnoreCase);
然后:
if (isChecked)
{
tagBuilder.MergeAttribute("checked", "checked");
}
谢谢您的参考和解释。我个人认为,如果我明确地想设置
checked
属性,它应该优先于一切。