2010-08-10 26 views
5

ViewModel của tôi có nên đóng gói các Dịch vụ cần thiết để điền vào không?Phương thức khởi tạo của ViewModel có điền dữ liệu của ViewModel không?

Hiện nay tôi đang làm nó như sau:

public PartialViewResult Companies(SearchViewModel search) 
{ 
    search.Summary = _entitySearchService.GetSearchDataSummary(search.SearchExpression); 
    search.PagedCompanies = _companyService.GetPagedEntities<Company>(search.SearchExpression); 

    return PartialView(search); 
} 

Nhưng nếu SearchViewModel dân các đặc tính này trong constructor của nó? Tôi có thể lấy StructureMap để truyền vào các giao diện cho các dịch vụ. Đó có phải là một sử dụng hợp lệ của một ViewModel?

Trả lời

1

Không, đừng làm điều đó vì bạn sẽ có sự lặp lại cho cùng một loại thuộc tính trong các kiểu xem khác nhau, xem dự án asp.net MVC mẫu tại đây: http://valueinjecter.codeplex.com

Các vấn đề liên quan