ASP.NET MVC 2 - HTML.EditorFor() 和自定义编辑器模板

2023-11-26

随着 MVC 2 添加 HtmlHelper EditorFor() ,不可能为给定的 Model 对象创建强类型的 Display 和 Editor 模板,在摆弄它之后,我有点困惑如何将额外的 Model 数据传递到编辑器而不丢失编辑器控件的强类型。

经典示例:产品有类别。 ProductEditor 有一个类别下拉列表,其中包含所有类别的名称。 ProductEditor 是强类型化的 Product,我们需要传入类别的 SelectList 以及产品。

使用标准视图,我们会将模型数据包装在新类型中并将其传递。使用 EditorTemplate,如果我们传入包含多个对象的混合模型,我们会失去一些标准功能(我注意到的第一件事是所有 LabelFor/TextBoxFor 方法都生成诸如“Model.Object”之类的实体名称,而不仅仅是“Object” ”)。

我做错了吗?还是 Html.EditorFor() 应该有一个额外的 ViewDataDictionary/Model 参数?


您可以创建一个具有这两个属性的自定义 ViewModel,或者您需要使用 ViewData 来传递该信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 2 - HTML.EditorFor() 和自定义编辑器模板 的相关文章

随机推荐