1
當我需要使用的查找我通常包括在視圖模型類的ID屬性,所以我可以在具有Model.LookuptableList
如在模型本身這樣的屬性相應的視圖如何處理查找?
<%= Html.LabelFor(model => model.LookupTableID)%>
<br />
<%= Html.DropDownListFor(model => model.LookupTableID, Model.LookuptableList, new {}) %>
使用這種方式:
public IEnumerable<SelectListItem> LookuptableList {
get {
return GetLookuptableList().Select(
t => new SelectListItem { Text = t.Description, Value = t.LookupTableID.ToString() });
}
}
但我不知道這是處理,因爲視圖模型類中的函數GetLookuptableList()
的一個很好的方式。
有沒有更好/更乾淨的方式來做到這一點?
那麼,GetLookuptableList()是什麼呢?爲什麼你認爲這種方法在模型中存在問題? – 2010-10-21 23:05:39
該函數從底層存儲中恢復查找列表。我不認爲這是有問題的。我只是想,不應該在那裏。留在模型中並沒有正確地遵循分離的關注...... – Lorenzo 2010-10-21 23:14:00
是的,洛倫佐。我認爲從視圖模型--Presentation層訪問底層存儲 - 可以用在控制器級別填充的IEnumerable成員 - 應用層來替代。所以你的viewModel可以保持對底層存儲的訪問不可知論 – SDReyes 2010-10-22 04:13:10