为Partials填充ViewModels的最佳位置?

时间:2011-08-25 17:46:21

标签: asp.net-mvc viewmodel

目前我在扩展方法中使用挂起HtmlHelper的ViewModelFactory:

public static IViewModelFactory ViewModels(this HtmlHelper helper)
{
   var factory = DependencyResolver.Current.GetService<IViewModelFactory>();
   return factory;
}

然后是部分示例视图:

@model WidgetViewModel

<fieldset>
    @using (Html.BeginForm())
    {
        @Html.Partial("_Form.cshtml", Html.ViewModels().EventForm() )
    }
</fieldset>

这是个坏主意吗?感觉很脏。如果是这样,为我的Partials填充/构建ViewModels的可测试最佳实践在哪里/如何?

1 个答案:

答案 0 :(得分:1)

这完全打破了模式。

ViewModels应该通过控制器提供,而不是视图。