视图未在安装T4MVC时呈现

时间:2011-08-10 19:57:21

标签: c# .net t4mvc

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

Tools -> Library Package Manager -> Package Manager Console

PM> install-package T4MVC

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

我真的无法辨别出这个控制器与其他工作正常的差异,就像我说的那样没有错误......当我在该控制器上执行操作时,只会提供一个空白页面。

关于可能发生的事情的任何想法?

1 个答案:

答案 0 :(得分:1)

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

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

我们可以在T4MVC中加入一些逻辑来涵盖这种特殊情况,但我会说如果你能避免这个动作名称,那就更好了:)