我的視圖模型看起來是這樣的:的細節,編輯和列表使用單一的視圖模型
public class CarViewModel {
public CarModel Car { get; set; }
public List<CarModel> Cars { get; set; }
}
CarModel
樣子:
public class Car() {
public string Make { get; set; }
public string Model { get; set; }
. . .
}
我的目標是隻有一個單一的視圖模型我可以使用我的列表視圖和單個視圖。對於列表視圖,我會補充Cars列表並在視圖內使用它,同時忽略單個Car實體。
有關詳細信息視圖,情況會相反。我的控制器會爲單個Car實體提供水分,視圖會使用它並忽略List。
這是部分工作,但模型綁定很弱。
DRY(不要重複自己)和SOC/SRP(關注點分離/單個責任主體)在這裏似乎有衝突。處理列表視圖和細節視圖的最佳方式是什麼?我有一個感覺,答案是創建重複的視圖模型,但我不想重複代碼,如果我可以幫助它。
我原來的執行就像你的建議。我唯一擔心的是,除了簡單的對象列表之外,列表視圖最終可能需要額外的信息。 –
然後,您可以爲列表視圖製作第二個視圖模型,將這些模型考慮在內。我將在一個示例中進行編輯 – Tommy