0

我想从我自己编写的自定义基类继承我的所有控制器。每次添加新控制器时我都可以更改该行,但如果我可以在某处指定在那里设置的默认值会更好。这样我就不必担心忘记这一点,以后加入项目的其他人会更轻松。

有什么办法可以做到这一点?

4

3 回答 3

3

您可以自定义调用添加控制器操作时使用的 T4 模板。基本上,您必须将模板从C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 3\CodeTemplates\AddController\Controller.tt项目文件中的“~\CodeTemplates\AddController\Controller.tt”复制到。

此处提供更多信息(向下滚动到“添加和自定义脚手架模板”)

于 2011-02-15T17:18:38.967 回答
0

是的,这很容易做到。首先创建一个名为“BaseController”的类,例如它继承自 Controller。然后您的所有控制器都将继承自 BaseController。

编辑:我认为使用 T4 模板来生成您的服装控制器(称为 BaseController 或可能是 Controller - 无论您喜欢哪个)也可以。我见过 Scot Hanselman 在他的一次演讲中做了类似的事情。

于 2011-02-15T15:20:03.067 回答
0

您可以使用命名空间来执行此操作:在与控制器相同的命名空间中创建一个名为 Controller 的类,例如:

namespace UI.Controllers
{
    public class Controller : System.Web.Mvc.Controller
    {
        //Code here
    }
}

然后对 Controller 的标准非限定引用将引用您的基类,而不是 System.Web.Mvc.Controller 之一。

不过可能会让人感到困惑——我宁愿只需要记住引用基类。

于 2011-02-15T15:44:58.550 回答