View 在Html.RadioButton中设置由defualt选择的单选按钮

View 在Html.RadioButton中设置由defualt选择的单选按钮,view,asp.net-core-mvc,radio-button,View,Asp.net Core Mvc,Radio Button,我无法在我的视图中为我的单选按钮选择默认选项 我试过: @Html.RadioButtonFor(s => s.Before, false, new { @checked = true }) @Html.RadioButtonFor(s => s.Before, false, new { @class = "checked" }) 还有很多其他的方法,但没有一种有效! 而且我也喜欢让它成为必需的。如何使其成为选中的和必需的 我正在使用.NET Core 5。如

我无法在我的视图中为我的单选按钮选择默认选项

我试过:

@Html.RadioButtonFor(s => s.Before, false, new { @checked = true }) 
@Html.RadioButtonFor(s => s.Before, false, new { @class = "checked" })
还有很多其他的方法,但没有一种有效! 而且我也喜欢让它成为必需的。如何使其成为选中的和必需的


我正在使用.NET Core 5。

如何选择它:

如果模型中属性的值等于传递给RadioButtonFor方法的第二个参数,则将检查单选按钮

因此,在您的情况下,如果您将Before属性设置为false,那么单选按钮将被选中。我想正确的方法是将Before的值设置为true,并将true作为第二个参数值传递

为此,需要: 使用“System.ComponentModel.DataAnnotations.RequiredAttribute”属性装饰属性,使属性成为必需属性。现在可以在post方法中检查this.ModelState.IsValid并返回this.Page()

注意:如果您使用 jquery验证库

在布尔类型的情况下,它们将始终具有true或false,因此 该模型将始终有效,即使用户不选择它。在这种情况下 使用可为空的bool而不是bool

在get方法中

this.Before = true;
在视图中

@Html.RadioButtonFor(s => s.Before, true)

请让我知道这是否有效。

这是针对DB的一个位值,因此完整代码为@Html.radiobutton(s=>s.PatchBefore,false)否@Html.radiobutton(s=>s.PatchBefore,true)是,但未选中任何一个。你认为第二个参数的值(false/true)会被PatchBefore的值覆盖吗?因为一开始这是空的。事实上,我喜欢客户端验证,并且我已经对一些输入使用了jquery验证。将null传递给第二个参数将引发异常。因此,如果您希望使用@Html.radiobutton(s=>s.PatchBefore,false)并选择此单选按钮,然后在返回模型以查看之前将PatchBefore设置为false(如果DB中为null)。谢谢@RameshOnly如果before的值与您的第二个参数值(代码中为false)相同,则将选择它。
@Html.RadioButtonFor(s => s.Before, true)