视图在安装T4MVC时不被渲染

本文关键字:安装 T4MVC 视图 | 更新日期: 2023-09-27 18:05:02

我有一个ASP。NET MVC 3 web应用程序。我最近通过使用包管理器安装了T4MVC模板:

Tools -> Library Package Manager -> Package Manager Console
PM> install-package T4MVC

这导致T4MVC。t4mvc .tt和T4MVC.tt.Settings。t4被包含在我的项目和一堆文件要自动生成(我在项目中有大约10个控制器)。在那之后,我尝试构建并运行我的项目,虽然我没有得到错误,但在其中一个控制器上,没有任何动作被渲染。这意味着浏览器将被提供一个完全空白的页面,而不是从关联视图生成的页面。所有其他控制器工作正常。

我真的无法分辨出这个控制器和其他工作正常的控制器之间的差异,就像我说的没有错误……当我在控制器上点击一个动作时,只会出现一个空白页面。

你知道会发生什么吗?

视图在安装T4MVC时不被渲染

啊,是的,我明白会发生什么:对于每个动作,T4MVC也生成一个重载没有任何参数,所以在这种情况下,它将是一个方法称为视图没有参数,然后隐藏MVC方法与相同的名称/签名。注意你可能会收到一个警告,例如

'Mvc3Application.Controllers.HomeController.View()' hides inherited member 'System.Web.Mvc.Controller.View()'.
Use the new keyword if hiding was intended.

我们可以在T4MVC中加入一些逻辑来处理这种特殊情况,但我想说的是,如果你能避免操作名称,那就更好了:)