如何在asp.net mvc3中创建自定义脚手架模板?

时间:2012-06-14 13:22:09

标签: asp.net-mvc razor

ASP.NET MVC 3可以为我们生成脚手架代码(控制器和视图)。默认情况下生成的视图使用div和css布局。
但有时我需要表格布局视图而不是div(在默认模式下)。如何生成表格布局视图,如下面的代码?我还需要一个表行中的列号可以自定义。
我的问题是:如何让asp.net mvc为我自动生成talbe布局视图。更一般地说,如何修改脚手架代码模板?

    <table>
    <tr>    
    <td class="editor-label">
        Id
    </td>
    <td class="editor-field">
        @Html.EditorFor(model => model.Id )
        @Html.ValidationMessageFor(model => model.Id)
    </td>
    <td class="editor-label">
        name
    </td>
    <td class="editor-field">
        @Html.EditorFor(model => model.Name)
        @Html.ValidationMessageFor(model => model.Name)
    </td>
    </tr>
    <tr> ... other fields go here ...  </tr>
    </table>

2 个答案:

答案 0 :(得分:1)

我从来没有花时间来覆盖T4模板,但是有一些博客文章介绍了获取模板和使用自己的布局创建/修改的确切方法。我能找到的最好的例子是史蒂夫桑德森的博客文章

http://blog.stevensanderson.com/2011/04/06/mvcscaffolding-overriding-the-t4-templates/

您似乎需要覆盖Scaffolder“View”和Create,CreateOrEdit,Edit模板。在PM控制台行中运行上述帖子中指定的命令后(见下文)

  

Scaffold CustomTemplate查看编辑

然后它将在您的项目中创建一个副本,然后您可以根据需要进行修改和使用。

答案 1 :(得分:0)

其他一些人也问过这个问题。因为我在问题中使用了不同的关键词,直到现在我才发现这些问题 a similar question on stackoverflow
T4 Templates: A Quick-Start Guide for ASP.NET MVC Developers
ASP.Net MVC - T4 Fun
MvcScaffolding: Overriding the T4 Templates