2012-10-08 62 views
0

我的用戶實體具有許多定義用戶記錄的不同屬性。在創建默認的腳手架編輯和創建頁面後,我們現在嘗試在頁面中實現一些區域,以便可以編輯和更新用戶配置文件的類似區域,而無需回發和刷新整個屬性列表。mvc控制器體系結構和模型綁定

我想分裂區域併入像下面單獨的部分景色,然後使用@ 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類。

如果您只使用一個動作,我認爲不可能[動態]指定要綁定哪些屬性,哪些不能。