在视图中针对@model System.Tuple< Person,List< Survey>>的强类型视图
我在for-each循环中使用:
@Html.EditorFor(x => survey.Questions)
在“调查”中提出问题.它完美无瑕.
现在我还想将其他数据传递给自定义编辑器模板.我做了:
@Html.EditorFor(x => survey.Questions,new { htmlAttributes = new { PersonId = 1000 } })
然后在Edtior模板中我想引用此PersonId并显示它.
这是我制作的编辑模板(问题用途的快捷方式):
@using WebApplication2.Models @model Question <div> @ViewData["PersonId"] </div>
但没有任何表现.
如何正确地将PersonId = 1000传递给此EditorTemplate.
解决方法
经过一番搜索后,发现了以下堆栈溢出的答案,用于迭代嵌套属性.我无法使转换为“动态”工作,但使用反射正确检索嵌套的匿名对象.
https://stackoverflow.com/a/13981462/1046155
https://stackoverflow.com/a/13981462/1046155
但是,如果您只想传递HTML属性,则可以按顺序指定它们:
@Html.EditorFor(x => survey.Questions,new { PersonId = 1000,PersonName = "John",PersonAge=10,etc... })
并通过以下方式在编辑器中访问它们
<div> @ViewData["PersonId"] @ViewData["PersonName"] @ViewData["PersonAge"] etc... </div>