为MVC递归生成脚手架模板

时间:2012-10-19 23:55:21

标签: asp.net-mvc

考虑遵循Child&之间的构成关系。 Root类 -

public class Child
{
    public string ChildProperty { get; set; }
}
public class Root
{
    public Child child { get; set; }
    public string RootProperty { get; set; }
}

Root类创建强类型视图,不包含 child属性。

<fieldset>
    <legend>Root</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.RootProperty)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.RootProperty)
        @Html.ValidationMessageFor(model => model.RootProperty)
    </div>

    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>

如何生成脚手架模板以包含子属性?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

通常你需要创建自己的T4模板:

https://stackoverflow.com/a/16072432/176877

但是,我不确定你是否真的能够遍历这些儿童模特;我相当肯定你需要更进一步,实际上使用你自己的PowerShell脚本生成一个Custom Scaffold,它循环遍历这些模型并调用你创建的一组新模板。

http://blog.stevensanderson.com/2011/04/07/mvcscaffolding-creating-custom-scaffolders/

换句话说,如果你想这样做,你就会有很多工作要做。