我有一个类似于这里描述的问题:MVC T4 MvcTextTemplateHost and Customized "Controller" T4 Template但希望更简单。
我有一个用于 ASP.NET MVC 项目的自定义 View 模板(View.tt、Create.tt)。我不知道如何在这些 View 模板中获取 Controller 名称。 mvcHost.ControllerName 和 mvcHost.ControllerRootName 在 View 模板中都是空的。但是,管道 Controller 名称中的某处是已知的,因为 View 是在 ControllerName 文件夹中创建的。我想在模板中引用它。
具体来说,我想生成 HTML.ActionLink("Edit", MVC.<controllername>.Edit(id))
而不是 HTML.ActionLink("Edit", "Edit", new {id = item.id})
是否可以在 View 模板中获取 Controller 的名称?
最佳答案
我认为没有办法在 MVC 1.0 或 MVC 2 中获取该信息。来自主机的 ControllerRootName 和 ControllerName 属性用于 Controller T4 模板,而不用于 View T4 模板。
我会看看我们是否可以向 T4 主机添加更多信息以在生成 View 时启用这些属性。
生成的文件出现在正确的文件夹中的原因是 MVC 项目系统获取 T4 模板的输出并将其放在那里。 T4 系统本身不参与此过程。
关于asp.net-mvc - 在 View T4 模板中获取 Controller 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3107219/