我有一個有點複雜的數據結構的ViewModel。我需要我的觀點來呈現不同的諧音,根據元素在我的視圖模型的類型,有點像這樣:是否可以創建一個豐富的ViewModel,其中僅包含創建視圖所需的信息?
[Validator(typeof(ViewModelValidator))]
class ViewModel {
IEnumerable<Element> Elements;
}
class Element {
string DisplayName;
DisplayType DisplayType; // TextBox, Select, Radiobutton, Checkbox
IEnumerable<ElementValue> Values; // could be a list of values for the dropdown
int Group;
etc...
}
class ElementValue {
...
}
我需要這個結構來建立我的觀點是動態輸入的元素。當我提交表單時,我正在考慮發送表單/值的json表示形式,並讓ValueProvider(可能是JsonValueProvider?)將值重新映射到我的ViewModel。我只需要用戶添加數據,所以我可以讀取數據或映射到一個新的對象,但假設我使用FluentValidation (http://fluentvalidation.codeplex.com/wikipage?title=mvc),那麼我會鬆散服務器端驗證權利?
所以我想我的問題是:我應該映射到我的ViewModel,即使我缺乏關於元素的所有信息(除了輸入的值)或者我應該只映射到一些對象,我可以驗證然後找到其他方式來顯示客戶端的錯誤?
這將是這樣做的一種方式......人力資源管理方面的問題是,我需要通過MVC生成的輸入字段(它增加了驗證的東西),但我想的東西一樣的值下拉菜單可以通過一些Ajax填充... – 2011-03-29 15:10:29