2012-06-15 10 views
5

Cuando creo un nuevo controlador en Visual Studio con MVC Se genera automáticamente el código siguiente:Creando una nueva clase de controlador en Visual Studio con MVC?

public class Default1Controller : Controller 
{ 
    // 
    // GET: /Default1/ 

    public ActionResult Index() 
    { 
     return View(); 
    } 

} 

Mi Default1Controller heredar de controlador pero trabajo con una clase BaseController y siempre tiene que recordar para cambiar la herencia. ¿Es posible? ¿Es posible modificar o crear una nueva plantilla para generar automáticamente un código más específico para mi proyecto?

public class Default1Controller : BaseController 
{ 
    // 
    // GET: /Default1/ 

    public ActionResult Index() 
    { 
     return View(); 
    } 

} 

Gracias,

+0

Tiene que anular la plantilla T4 y también puede utilizar andamios para la productividad. El enlace está publicado en mi respuesta. –

Respuesta

4

Hay que modificar la plantilla T4 que está en la base del comando "Agregar controlador".

vaya a \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Web \ MVC 3 \ CodeTemplates \ AddController \ (sustituir con su versión de VS y MCV) y modificar los Controller.tt

El línea de public class <#= mvcHost.ControllerName #> : Controller debe convertirse en public class <#= mvcHost.ControllerName #> : BaseController

Más detalles se pueden encontrar sobre Scott Hanselman de blog

3

Usted debe ser capaz de modificar las plantillas de controlador de T4 ubicados en una carpeta como esta:

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

cambiar simplemente la línea

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

a

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

También, los enlaces proporcionados por Asif son útiles.

Cuestiones relacionadas