三个bool属性的MVC单选按钮



我有一个有3个bool属性的模型:

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个单选按钮。

单选按钮的工作方式不同于复选框。如果是单选按钮,则从一组单选按钮中选择的单选按钮的值将被发送回操作。

组单选按钮-的name属性的html元素必须是相同的(我可以看到在你的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。

最新更新