目前我在扩展方法中使用挂起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的可测试最佳实践在哪里/如何?
答案 0 :(得分:1)
这完全打破了模式。
ViewModels应该通过控制器提供,而不是视图。