我有一个我坚持的场景 - 我有一个域对象,附加了一个对象集合.像这样的东西:
public class Person
{
public string Name { get; set; }
public IList<PhoneNumber> PhoneNumbers {get; set; }
public IList<Address> Addresses { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
客户想要的UI有一个用于添加和编辑的输入表单.用户可以为每个人输入0到多个电话/地址.如何处理将值集合发布回控制器?
我可以想到几种方法,但它们都显得蛮力而且不是很优雅.是否有处理此类问题的最佳做法?
过去我为此使用了railsy 约定。
<input name="Parent[childObjectType][serial_number]" type="textbox" value="" />
Run Code Online (Sandbox Code Playgroud)
所以对于你的情况来说
<input name="Person[PhoneNumber][1]" type="TextBox" value="555-1212" />
<input name="Person[PhoneNumber][2]" type="TextBox" value="555-555-1212" />
Run Code Online (Sandbox Code Playgroud)
您可以增加序列号并在 javascript 中复制该元素以获取多个元素,并在操作中使用 formCollection,这将为您提供获取这些元素的方法。
mvc 团队默认使用 ModelBinder 和点语法来执行此操作。然而,这使得 jquery 和其他 javascript 框架陷入困境。
归档时间: |
|
查看次数: |
2845 次 |
最近记录: |