关于c#:如何将字符串属性绑定到视图中的单选按钮?

How to bind a string property to radio buttons in view?

我正在开发一个 ASP MVC 应用程序。我有一个具有如下字符串属性的模型:

1
2
3
...
string TeamSize;
...

在视图中,我想显示一些单选按钮来选择团队规模,而不是一个文本框,例如:

1
(o)0-10   ()10-20   ()20-30   ()> 30

我知道 TeamSize 应该定义为 enum,然后绑定将是自动的,但是与其他应用程序的一些交互会导致 TeamSize 成为一个字符串。

我知道使用 JavaScript 很容易实现,但我想知道是否可以使用 ASP MVC 4 将该字符串属性与视图中的单选按钮绑定?


只需使用 RadioButtonFor() 助手

1
2
3
4
@Html.RadioButtonFor(m => m.TeamSize,"0-10")<span>0-10</span>
@Html.RadioButtonFor(m => m.TeamSize,"10-20")<span>10-20</span>
@Html.RadioButtonFor(m => m.TeamSize,"20-30")<span>20-30</span>
@Html.RadioButtonFor(m => m.TeamSize,"> 30")<span>> 30</span>

如果 TeamSize 的值为"10-20",则将选择第二个单选按钮。如果用户选择第三个按钮,该值将返回为"20-30"

注意:您可能希望将 id 传递给每个按钮并使用 <label for=> 而不是 <span>

1
@Html.RadioButtonFor(m => m.TeamSize,"0-10", new { id ="TS1"})<label for="TS1">0-10</label>