使用 MVC 在 Visual Studio 中创建一个新的控制器类

本文关键字:一个 控制器 MVC Visual Studio 创建 使用 | 更新日期: 2023-09-27 18:37:13

当我使用 MVC 在 Visual Studio 中创建一个新控制器时,它会自动生成以下代码:

public class Default1Controller : Controller
{
    //
    // GET: /Default1/
    public ActionResult Index()
    {
        return View();
    }
}

我的 Default1Controller 继承自控制器,但我使用 BaseController 类,我总是必须记住更改继承。是否可以修改或创建新模板以自动为我的项目生成更具体的代码?

public class Default1Controller : BaseController
{
    //
    // GET: /Default1/
    public ActionResult Index()
    {
        return View();
    }
}

谢谢

使用 MVC 在 Visual Studio 中创建一个新的控制器类

你需要custom code generation MVC

以下链接可能会有所帮助。

修改默认代码生成/基架模板 ASP.NET MVC

还有

ASP.NET MVC和T4以及NerdDinner

您必须修改"添加控制器"命令基础的 T4 模板。

转到 Microsoft Visual Studio 11.0''Common7''IDE''ItemTemplates''CSharp''Web''MVC 3''CodeTemplates''AddController''(替换为您的 VS 和 MCV 版本)并修改 Controller.tt

线路public class <#= mvcHost.ControllerName #> : Controller应变为public class <#= mvcHost.ControllerName #> : BaseController

更多细节可以在Scott Hanselman的博客上找到

您应该能够修改位于如下所示的文件夹中的控制器 T4 模板:

C:'Program Files (x86)'Microsoft Visual Studio 10.0'Common7'IDE'ItemTemplates'CSharp'Web'MVC 3'CodeTemplates'AddController

只需更改线路

public class <#= mvcHost.ControllerName #> : Controller

public class <#= mvcHost.ControllerName #> : BaseController

此外,Asif提供的链接也很有用。

您需要覆盖 T4 模板,也可以使用脚手架来提高工作效率。在这里我们更多信息 : MvcScaffolding:覆盖 T4 模板