有谁知道如何将是/否单选按钮绑定到ASP.NET MVC中强类型模型的布尔属性.
模型
public class MyClass
{
public bool Blah { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
视图
<%@ Page Title="blah" Inherits="MyClass"%>
<dd>
<%= Html.RadioButton("blah", Model.blah) %> Yes
<%= Html.RadioButton("blah", Model.blah) %> No
</dd>
Run Code Online (Sandbox Code Playgroud)
谢谢
解:
感谢Brian的指导,但这与他写的相反.如此 -
<%@ Page Title="blah" Inherits="MyClass"%>
<dd>
<%= Html.RadioButton("blah", !Model.blah) %> Yes
<%= Html.RadioButton("blah", Model.blah) %> No
</dd>
Run Code Online (Sandbox Code Playgroud) 我需要在我的表单中有多个单选按钮组,如下所示:
我知道只需为每个组指定相同的" name "html属性即可.
但是,
当使用html helper时,MVC不允许您指定自己的name属性:
@Html.RadioButtonFor(i => item.id, item.SelectedID, new { Name = item.OptServiceCatId })
Run Code Online (Sandbox Code Playgroud)
因为它查看每个标签的" 名称 "属性(而非" id ")以将表单映射/绑定到控制器接收的模型等.
有人说,指定每个具有相同"GroupName"属性将解决问题,但它也不起作用.
那么,有什么办法可行吗?
编辑:
这是我的观点(简化):
@model Service_Provider.ViewModels.SelectOptServicesForSubServiceViewModel
@foreach (var cat in Model.OptServices)
{
//A piece of code & html here
@foreach (var item in cat.OptItems.Where(i => i.MultiSelect == false))
{
@Html.RadioButtonFor(i => item.id, item.SelectedID, new { GroupName = item.OptServiceCatId })
<br />
}
}
Run Code Online (Sandbox Code Playgroud)
注意:
我的模型是List<OptServices>:
public List<OptServices> Cats {get; set;}
Run Code Online (Sandbox Code Playgroud)
和OptServices拥有List的OptItems内部: …