2010-04-26 16 views
9

T4MVC es fresco, pero tengo un par de temas que lo integran en mi proyecto, cualquier ayuda es muy appriciated:T4MVC en proyecto real

  1. Tengo tales advertencias para todas mis acciones (I SnippetsBaseController utilizar como clase base para todas mis clases de controlador:.

    Advertencia cueros 26 '' Snippets.Controllers.ErrorController.Actions heredan miembros Snippets.Controllers.Base.SnippetsBaseController.Actions 'Use la nueva palabra clave si se pretendía ocultar. C: \ projects_crisp-source_crisp \ crisp-snippets \ Snippets \ T4MVC.cs 481 32 Snippets

  2. ¿Es posible tener nombres inflexible de tipos de rutas personalizadas, por ejemplo, tengo ruta definida así:

    routes.MapRoute(
         "Feed", 
         "feed/", 
         MVC.Snippets.Rss() 
        ); 
    

¿Es posible reemplazar:

<%= Url.RouteUrl("Feed") %> 

con algo como:

<%= Url.RouteUrl(MVC.Routes.Feed) %> 
  1. Tener enlaces fuertemente tipados a archivos estáticos es genial, pero uso <base /> en mis páginas, así que no necesito ningún procesamiento de URL, ¿puedo redefinir T4MVCHelpers.ProcessVirtualPath sin modificar el T4MVC.tt?

  2. T4MVC siempre generan enlaces con controlador superior y nombres de acción, por ejemplo: /Snippets/Add en lugar de/snippets/add. ¿Es posible generarlos en minúsculas?

Respuesta

18
  1. Puede usted cambiar su clase controlador de base a ser abstracta? Creo que eso lo arreglará.

  2. Ver este post donde se discute este: http://forums.asp.net/t/1535567.aspx

  3. Si nos fijamos en t4mvc.settings.t4, verá un método ProcessVirtualPathDefault que puede cambiar sin tocar el archivo principal .tt.

  4. Ver http://forums.asp.net/t/1532057.aspx. Hay una solución sugerida allí, aunque todavía no se ha enviado (pero puedes intentarlo).

David

+2

Para (1). El cambio a la clase base abstracta ayudó, pero una advertencia aún activa: 'Snippets.Controllers.SnippetsController.View() 'oculta el miembro heredado' System.Web.Mvc.Controller.View() '. Use la nueva palabra clave si el ocultamiento fue intencionado' – artvolk

+0

No creo que T4MVC genere algo llamado 'Ver'. ¿Estás seguro de que no es algo en tu controlador base? –

+2

Ahhr. parece que no está relacionado con T4MVC, tengo una acción llamada View(), intentaré usar [ActionName]. ¡Gracias por responder mis preguntas rápidas y simples! – artvolk

Cuestiones relacionadas