我有一個關於viewModel中屬性組織的問題。據我所知,viewmodel應該儘可能簡單,它應該做的主要事情是綁定數據以查看。MVC 3 viewmodel屬性
問題是如何從BL模型中區分viewmodel中的屬性。 我的意思是,比如我有一個BL模型,如:
public class UserDetailsModel
{
public string UserName {get;set;}
public string SomeInfo{get;set;}
public string AnotherInfo{get;set;}
public string Anything{get;set;}
public string Something {get;set;}
...
}
然後我還有一個BL模型說:
public class UserInfoModel
{
public string Info1{get;set;}
public string Info2{get;set;}
public string Info3{get;set;}
public string Info4{get;set;}
public string Info5 {get;set;}
...
}
現在的問題是什麼是創建視圖模型應該有數據的最佳實踐的兩個BL模型。
1)複製2個模型中的屬性,並使用默認模型綁定將數據從視圖傳輸到控制器,然後從ViewModels和存儲庫更新數據創建BL模型?在這種情況下,我們有重複代碼...
2)視圖模型應該是這個樣子:
public class UsersIdentificationViewModel
{
public UsersIdentificationViewModel()
{
UserInfoModel = new UserInfoModel();
}
public UserInfoModel UsersInfo { get; set; }
public UserDetailsModel UserDetails { get; set; }
}
默認綁定不會在這種情況下(糾正我,如果我誤),我應該寫工作自定義模型聯編程序或類似的東西...什麼方法對單元測試更好,或者有另一種方法?
您的選項2可以工作。支持嵌套視圖模型。你試過了嗎? –
我會試試這種方式,謝謝 – StringBuilder