我的用户实体有许多不同的属性,用于定义用户记录。在创建默认的脚手架编辑和创建页面之后,我们现在尝试将一些区域实现到页面,因此可以编辑和更新用户配置文件的相似区域,而无需回发和刷新整个属性列表。
我在考虑将区域拆分为单独的部分视图,如下所示,然后使用@ Ajax.BeginForm(
public partial class UserContact : UserBase
{
[DataType(DataType.EmailAddress)]
[StringLength(255)]
public string EmailAddress { get; set; }
[DataType(DataType.PhoneNumber)]
[StringLength(50)]
public string PhoneHome { get; set; }
...
}
public partial class UserAddress : UserBase
{
[StringLength(60)]
public string AddressLine1 { get; set; }
[StringLength(60)]
public string AddressLine2 { get; set; }
...
}
public partial class UserBase
{
[Key]
[Required(ErrorMessage = "User is required")]
public System.Guid UserId { get; set; }
}
刚发现binding关键字,我想知道人们使用哪种方法。我认为它在线上效率不高,并且每次都要回复整个Usermodel进行必要的验证,所以人们将主模型拆分成单独的模型,或者是否可能(甚至可以建议)使用bind参数仅指定属性的子集?
答案 0 :(得分:1)
在我看来,确实建议将模型拆分为多个子模型,但是您还需要将操作拆分为子操作。每个动作都将“绑定”到该子类,而不是整个UserBase类。
如果您只使用一个操作,我认为不能[动态]指定要绑定的属性和不绑定的属性。