我有一个Approval类,其中有一个ApprovalDocument对象列表。Approvals类具有ActiveApprovalDocument属性。我的模型有一个Approval的列表。我也想显示活动批准文档的属性:<%= Html.DisplayFor(m => m.Approvals[i].ApprovalDocuments[m.Approvals[i].ActiveApprovalDocumentsId.Value].CertificationIssuedDate)%>我知道我可以直接显示Model.Approvals[i]....,但是如何仍可以使用DisplayFor(这样我就可以得到自动格式化等)?我得到的错误是: System.InvalidOperationException:表达式编译器无法评估索引器表达式'm.Approvals.get_Item(value(ASP.areas_approvals_views_approvals_index_aspx + c__DisplayClass0).i).ActiveApprovalDocumentsId.Value',因为它引用了不可用的模型参数'm' 。 ---> System.InvalidOperationException:Lambda参数不在范围内 最佳答案 <% var j = Model.Approvals[i].ActiveApprovalDocumentsId.Value; %><%= Html.DisplayFor(m => m.Approvals[i].ApprovalDocuments[j].CertificationIssuedDate) %>或者只是使用视图模型。关于c# - 将DisplayFor与嵌套属性的单个索引一起使用-Lambda参数不在范围内,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13759730/ 10-12 02:10