我有一个编辑器模板(视图/共享/编辑/ horder.ascx),它继承

System.Web.Mvc.ViewUserControl<CCOK2.Models.HORDER>
.

我的ViewModel具有一对多关系,我使用HTML.EDITERGOR来呈现多个HORDERS

<%: Html.EditorFor(model => model.PEOPLE.HORDERS, new {fred="hello"})%>
.

最终我想要做的是在下拉列表中的数据中传递,但是,暂时,我只是在尝试传递一个字符串“hello”

如果我在horder.ascx中嵌入以下内容

<%: ViewData.Count() %>
.

我得到“0”输出。任何持有ViewData的尝试都会失败。

但是,如果我使用单个项目使用editorfor,它可以按预期工作:我向我的ViewModel添加了前后,set是model.people.horders.first()那么<%:html.editor for(model=> model.firstorder ,新的{fred=“hello”})%>按预期传递你好。

所以......在用一对多关系调用它时,有没有办法使用额外的数据?

编辑: 它已经建议在其他地方我使用edentorfor在foreach循环中针对个人守则使用。这是作品(即,附加的查看程序已正确传递),但我最终通过编辑器呈现的每个控件,具有相同的ID和名称而不是人.Fiffer,这是不可取的。

有帮助吗?

解决方案

经过很多搞乱,似乎是不可能这样做的:我认为框架中的一个错误。解决方法是在编辑器呼叫之前将其插入ViewData。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top