0
在我看来,我有一行代码呈现编辑器模板。编辑器模板的Lambda表达式太复杂了
然而,返回错误:
模板只能与现场访问,属性访问,一维数组的索引,或者单参数定制索引表达式中使用。
这似乎是最优雅的方式来实现我想要的,但我认识到我的视图中的lambda表达式对编辑器模板来说太复杂。
任何人都可以建议如何使这项工作或建议我一个更好的方法吗?
查看
@Html.EditorFor(model => model.Approvers.Where(a => a.ApprovalCount > 0))
编辑模板
@model Project.ViewModels.AssignedApproverData
<div class="span3">
<label class="checkbox inline">
@Html.HiddenFor(model => model.EmployeeID)
@Html.CheckBoxFor(model => model.Assigned)
@Html.DisplayFor(model => model.FullName)
</label>
</div>
编辑模板视图模型
using System;
using System.Collections.Generic;
using Project.Models;
namespace Project.ViewModels
{
public class AssignedApproverData
{
public string EmployeeID { get; set; }
public string FullName { get; set; }
public bool Assigned { get; set; }
public int ApprovalCount { get; set; }
}
}
视图模型
namespace Project.ViewModels
{
public class ChangeRequestViewModel
{
public virtual ICollection<AssignedApproverData> Approvers { get; set; }
}
}