我正在尝试嵌套的编辑器模板,但无法使其正常工作。我模型的结构是
public class CompanyModel
{
public EmployeeModel Emp { get; set; }
}
public class EmployeeModel
{
public EmpType EmployeeType { get; set; }
public string Name { get; set; }
public DateTime StartDate { get; set; }
public string EmailAddress { get; set; }
}
public enum EmpType
{
Manager = 1,
Assistant = 2,
TeamLeader = 3
}
每个EmpType都有不同的EditorTemplates 索引视图是
@model CompanyModel
<h3>Index</h3>
@Html.EditorFor(m => m.Emp,"Employee")
然后我创建了EditorTemplates(Employee.cshtml)
@model EmployeeModel
<h2>Employee</h2>
@Html.EditorForModel("EmpType_"+ Model.EmployeeType.ToString())
EditorTemplate(EmpType_Manager.cshtml)
@model EmployeeModel
<h2>EmpType_Manager</h2>
I am Manager
为了进行测试,我在控制器中使用虚拟数据填充模型
public ActionResult Index(CompanyModel model)
{
EmployeeModel emp = new EmployeeModel
{
EmployeeType = EmpType.Manager,
Name = "xxxx",
StartDate = DateTime.Now,
EmailAddress = "xxx@yyy.com"
};
model = new CompanyModel();
model.Emp = emp;
return View(model);
}
当我运行它时,它不会调用EmpType_Manager模板。有人可以帮我这个。我尝试过使用部分视图。但是想使用EditorTemplate而不是Partial view。
答案 0 :(得分:0)
看起来这是不可能的,因为它是由mvc设计。