3 个布尔属性的 MVC 单选按钮
MVC radio buttons for 3 bool properties
我有一个具有 3 个布尔属性的模型:
public class ViewModel {
public bool A { get; set; }
public bool B { get; set; }
public bool C { get; set; }
}
如果我是对的,默认情况下它们都是 false
。
我想要 3 个单选按钮,所以其中只有一个可以是 true
:
<input asp-for="A" name="type" type="radio" value="true" id="A"/>
<input asp-for="B" name="type" type="radio" value="true" id="B"/>
<input asp-for="C" name="type" type="radio" value="true" id="C"/>
但是当我从 3 个中选择一个并提交我的表单时,视图模型中的每个值都将是 false
。
我该如何解决这个问题?主要是我只想用3个单选按钮。
单选按钮的工作方式与复选框不同。如果是单选按钮,则将从一组单选按钮中选择的单选按钮的值发送回操作。
要对单选按钮进行分组 - html 元素的 name
属性 必须相同(我可以在您的 html 中看到)。现在您只需要有一个变量来捕获所选单选按钮的 value
。您必须为单选按钮设置 value
属性。
Html:
<input asp-for="A" name="type" type="radio" value="A" id="A"/>
<input asp-for="B" name="type" type="radio" value="B" id="B"/>
<input asp-for="C" name="type" type="radio" value="C" id="C"/>
那么在行动中:
public class ViewModel {
public string type { get; set; }
}
type
属性 的值将在服务器端的 type
变量中可用。例如“A”或“B”或“C”但不是 True/False。
我有一个具有 3 个布尔属性的模型:
public class ViewModel {
public bool A { get; set; }
public bool B { get; set; }
public bool C { get; set; }
}
如果我是对的,默认情况下它们都是 false
。
我想要 3 个单选按钮,所以其中只有一个可以是 true
:
<input asp-for="A" name="type" type="radio" value="true" id="A"/>
<input asp-for="B" name="type" type="radio" value="true" id="B"/>
<input asp-for="C" name="type" type="radio" value="true" id="C"/>
但是当我从 3 个中选择一个并提交我的表单时,视图模型中的每个值都将是 false
。
我该如何解决这个问题?主要是我只想用3个单选按钮。
单选按钮的工作方式与复选框不同。如果是单选按钮,则将从一组单选按钮中选择的单选按钮的值发送回操作。
要对单选按钮进行分组 - html 元素的 name
属性 必须相同(我可以在您的 html 中看到)。现在您只需要有一个变量来捕获所选单选按钮的 value
。您必须为单选按钮设置 value
属性。
Html:
<input asp-for="A" name="type" type="radio" value="A" id="A"/>
<input asp-for="B" name="type" type="radio" value="B" id="B"/>
<input asp-for="C" name="type" type="radio" value="C" id="C"/>
那么在行动中:
public class ViewModel {
public string type { get; set; }
}
type
属性 的值将在服务器端的 type
变量中可用。例如“A”或“B”或“C”但不是 True/False。