Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 复选框/单选按钮需要验证JQuery MVC_C#_Jquery_Asp.net Mvc_Radio Button - Fatal编程技术网

C# 复选框/单选按钮需要验证JQuery MVC

C# 复选框/单选按钮需要验证JQuery MVC,c#,jquery,asp.net-mvc,radio-button,C#,Jquery,Asp.net Mvc,Radio Button,所以我有这个模型: public int ID { get; set; } [Required(ErrorMessage = "A Name is required")] public string Name { get; set; } public bool GreenCircle { get; set; } public bool BlueSquare { get; set; } public bool BlackDiamond { get;

所以我有这个模型:

    public int ID { get; set; }
    [Required(ErrorMessage = "A Name is required")]
    public string Name { get; set; }
    public bool GreenCircle { get; set; }
    public bool BlueSquare { get; set; }
    public bool BlackDiamond { get; set; }
    public bool TerrainPark { get; set; }
目前,允许用户创建配置文件的视图为此处列出的bool属性设置了复选框

我正在寻找一种设置JQuery验证的方法,该方法需要将这些bool属性中的一个(而且只有一个)设置为true,因此我认为应该使用单选按钮,但我不太确定在视图中设置这些属性时如何对其进行分组,或者如何执行此类验证


有什么想法吗?我在这里学习,所以如果你必须的话,请为我指出正确的研究方向;提前感谢。

使用枚举。例如:

public enum MyEnum
{
    GreenCircle,
    BlueSquare,
    BlackDiamond,
    TerrainPark
}
然后在模型中使用它,而不是四个不同的布尔属性

public class MyModel
{
    public MyEnum MyOption { get; set; }
}
然后在视图中生成单选按钮

@using (Html.BeginForm())
{
    @Html.RadioButtonFor(m => m.MyOption, (int)MyEnum.BlackDiamond);
    <span>Black Diamond</span><br />
    @Html.RadioButtonFor(m => m.MyOption, (int)MyEnum.BlueSquare, 
        new { @checked = "true" });
    <span>Blue Square</span><br />
    @Html.RadioButtonFor(m => m.MyOption, (int)MyEnum.GreenCircle);
    <span>Green Circle</span><br />
    @Html.RadioButtonFor(m => m.MyOption, (int)MyEnum.TerrainPark);
    <span>Terrain Park</span><br />
}
@使用(Html.BeginForm())
{
@RadioButton(m=>m.MyOption,(int)MyEnum.BlackDiamond);
黑钻石
@(m=>m.MyOption,(int)MyEnum.BlueSquare, 新的{@checked=“true”}); 蓝色正方形
@RadioButton(m=>m.MyOption,(int)MyEnum.GreenCircle); 绿色圆圈
@RadioButton(m=>m.MyOption,(int)MyEnum.TerrainPark); 地形公园
}

备注:也许你可以实现一个HTML助手来为你生成单选按钮标记。

看起来枚举更适合你的需要。你能详细说明一下吗?太棒了。我要去试一试,期待更新,非常感谢!因此,尽管我的视图使用的是一个强类型模型,并且在顶部引用了正确的模型,但我一直得到一个错误:“ExperienceLevel在当前上下文中不存在”'public enum ExperienceLevel{……}(在模型中)public ExperienceLevel explovel{get;set;}(在视图中)@Html.RadioButtonFor(m=>m.explovel,(int)体验级(绿色圆圈);'它给出了ExperienceLevel.GreenCircleScratch上的错误,找到了解决方案。多谢了,一切都很顺利。我有我的单选按钮列表。现在我只需要知道如何在我的控制器中获取所选单选按钮的值来使用它