MVC编辑器模板

时间:2014-04-08 21:10:07

标签: mvc-editor-templates

我正在尝试嵌套的编辑器模板,但无法使其正常工作。我模型的结构是

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。

1 个答案:

答案 0 :(得分:0)

看起来这是不可能的,因为它是由mvc设计。