在我看来,我有一行代码可以呈现一个编辑器模板。
但是,它返回错误:
模板只能与字段访问、属性访问、一维数组索引或单参数自定义索引器表达式一起使用。
这似乎是实现我想要的最优雅的方式,但我意识到我的视图中的 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>
编辑器模板 ViewModel
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; }
}
}