我对MVC中的模型绑定有疑问
说我有一个简单的POCO,如下所示。
public class Person
{
public Title Title { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public bool LeadPassenger { get; set; }
}
我有一个控制器将一组人员传递给一个视图,在该视图中我想渲染一个单选按钮,允许用户从人员集合中选择LeadPassenger。
现在,为了使其工作(并且一次只选择一个单选按钮),所有“LeadPassenger”单选按钮必须共享相同的名称。但是这似乎不可能使用模型绑定约定,其中每个控件都以集合中项的每个属性命名。
<input id="Passengers_0_LeadPassenger " name="PolicyMembers[0].LeadPassenger" type="radio" value="true" />
<input id="Passengers_1_LeadPassenger " name="PolicyMembers[1].LeadPassenger" type="radio" value="false" />
如何解决这个限制?我可以使用jQuery强制所有单选按钮在选中一个时关闭,但这似乎是一个'软糖'!
有什么想法吗?
答案 0 :(得分:0)
这里的诀窍是你要完成的任务并不是模型绑定的真正任务,它可能不会真正意识到它之外的数据“行”。你想要做的是为引导乘客选择引入一个新的领域,将值绑定到人的唯一标识符和同名的名称。然后将其作为控制器中的单独变量进行拾取并从那里映射。