我有一个编辑器模板(Views/Shared/EditorTemplates/HORDER.ascx),它继承
System.Web.Mvc.ViewUserControl<CCOK2.Models.HORDER>
我的viewmodel有一个一对多的关系,我使用Html.EditorFor来呈现多个HORDERS
<%: Html.EditorFor(model => model.PEOPLE.HORDERS, new {fred="hello"})%>
最终我要做的是为dropdownlist传递数据,然而,目前,我只是想传递一个字符串“hello”
<%: ViewData.Count() %>
我得到“0”输出。获取viewdata的任何尝试都失败。
但是,如果我对单个项使用EditorFor,它将按预期工作:我将FirstHorder添加到viewmodel中,设置为model.PEOPLE.HORDERS.First()然后<%:Html.EditorFor(model=>model.FirstOrder,新{fred=“hello”})%>按预期传递问候。
所以。。。当使用一对多关系调用EditorFor时,是否有任何方法可以让它处理其他数据?
编辑:
有人建议我在ForEach循环中使用EditorFor来对付各个部落。这是可行的(即,额外的viewdata被正确地传递),但我最终得到的是editor呈现的每个控件都具有相同的id和名称,而不是PEOPLE.HORDERS[n].field,这是不可取的。