gpt4 book ai didi

asp.net - 多个 bool 的单选按钮

转载 作者:行者123 更新时间:2023-12-02 17:32:36 26 4
gpt4 key购买 nike

假设我的模型中有以下我想互斥的属性:

public bool PrintWeek1 {get; set;}
public bool PrintWeek2 {get; set;}
public bool PrintWeek3 {get; set;}

是否可以将它们呈现为一组单选按钮,或者我是否需要将它们更改为枚举?

如果我使用 @Html.RadioButtonFor,它会将 name 呈现为属性的名称,因此它们无法正确分组。

最佳答案

这里有一个快速的解决方案,让您在模型中具有以下属性 -

public bool PrintWeek1 { get; set; }
public bool PrintWeek2 { get; set; }
public bool PrintWeek3 { get; set; }
public string SelectedValue { get; set; }

那么你的 HTML 应该是这样的 -

@Html.RadioButtonFor(Model => Model.PrintWeek1, "PrintWeek1", new { @Name = "SelectedValue" }) 
@Html.RadioButtonFor(Model => Model.PrintWeek2, "PrintWeek2", new { @Name = "SelectedValue" })
@Html.RadioButtonFor(Model => Model.PrintWeek3, "PrintWeek3", new { @Name = "SelectedValue" })

然后当您提交表单时,您将在 SelectedValue 属性中获得选定的值。

编辑为了解决@StephenMuecke 点,创建了以下解决方案 -

创建一个枚举 -

public enum PrintWeekType
{
PrintWeek1, PrintWeek2, PrintWeek3
}

然后有一个模型属性(而不是单独的属性,有单个 emum 属性)-

public PrintWeekType SelectedValue { get; set; }

HTML 应该如下所示 -

@Html.RadioButtonFor(m => m.SelectedValue, PrintWeekType.PrintWeek1) 
@Html.RadioButtonFor(m => m.SelectedValue, PrintWeekType.PrintWeek2)
@Html.RadioButtonFor(m => m.SelectedValue, PrintWeekType.PrintWeek3)

使用上面的示例,可以预先选择一个单选按钮,同时我们可以将选定的值发布到 SelectedValue 属性中。

关于asp.net - 多个 bool 的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com