随着MVC 2添加了HtmlHelper EditorFor(),无法为给定的Model对象创建强类型的Display和Editor模板,在摆弄它之后,我有点难过如何将其他Model数据传递给编辑器而不会丢失编辑器控件的强类型.
经典示例:产品有类别.ProductEditor有一个包含所有类别名称的DropDownList.ProductEditor是对产品的强类型,我们需要传递类别的选择列表以及产品.
使用标准视图,我们将模型数据包装在一个新类型中并传递它.如果我们传入一个包含多个对象的混合模型,那么使用EditorTemplate会丢失一些标准功能(我注意到的第一件事就是所有的LabelFor/TextBoxFor方法都生成像"Model.Object"这样的实体名称,而不仅仅是"对象" ").
我做错了还是Html.EditorFor()有一个额外的ViewDataDictionary/Model参数?