2
我正在MVC3中開發一個應用程序,它在相當多的頁面上有下拉列表來填充特定對象的選擇。我的問題是,在我的ViewModel中包含下拉列表的集合還是調用服務來填充下拉列表更有意義。ViewModel中的MVC3集合或從Ajax服務中填充
例如,它更有意義,有這樣的:
public class MyViewModel
{
public int SelectedFooId { get; set; }
public IEnumerable<Foo> Foos { get; set; }
}
@Html.DropDownListFor(model => model.SelectedFooId, new SelectList(Model.Foos, "Id", "Name", "-- Select Foo --"))
還是有從視圖模型取出Foos
收集,並通過JSON或某事與阿賈克斯填充它來實現這更好的辦法?如果我打電話給一個服務,你能提供一個這樣做的例子嗎?我對MVC還是比較陌生的,並且正在嘗試通過最佳實踐來做所有事情,因爲我不想陷入任何困境。
謝謝。如果我有多個下拉列表來設置兩個屬性,比如說五個?這仍然是一個很好的實施,還是這開始混亂模型? – shuniar
@shuniar,仍然是一個很好的實現。請記住,視圖模型類的作用是反映給定視圖的需求。因此,如果您需要在視圖中顯示5個ddls,則您的視圖模型上將有5個相應的標量屬性,以將選定值綁定到5個集合並將選項綁定到該集合。 –
感謝您的澄清。我將繼續執行此實施。 – shuniar