2010-04-26 66 views
9

T4MVC使用T4MVC是很酷,但我有几个它在我的项目集成的问题,任何帮助真的appriciated:在实际项目

  1. 我有这样的警告,我所有的行动(我使用SnippetsBaseController作为我所有控制器类的基类:

    警告26'Snippets.Controllers.ErrorController.Actions'隐藏继承成员'Snippets.Controllers.Base.SnippetsBaseController.Actions'。如果隐藏是有意的,请使用new关键字。 C:\ projects_crisp-source_crisp \ crisp-snippets \ Snippets \ T4MVC.cs 481 32片段

  2. 是否可以定制路线的强类型的名称,例如,我有路线定义是这样的:

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

是否有可能取代:

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

的东西如:

<%= Url.RouteUrl(MVC.Routes.Feed) %> 
  1. 强类型链接到静态文件是非常酷的,但我在我的页面使用<base />,所以我不需要任何URL处理,我可以重新定义 T4MVCHelpers.ProcessVirtualPath而不调整T4MVC.tt本身?

  2. T4MVC始终会生成与uppercased控制器和动作名称的链接,例如: /Snippets/Add而不是/ snippets/add。是否可以生成它们小写?

回答

18
  1. 你可以改变你的基础控制器类是抽象?我认为这会解决它。

  2. 看到这个帖子里面讨论这个:http://forums.asp.net/t/1535567.aspx

  3. 如果您在t4mvc.settings.t4看,你会看到,可以改变不接触主.TT文件ProcessVirtualPathDefault方法。

  4. 请参阅http://forums.asp.net/t/1532057.aspx。有建议在那里修复,虽然它还没有提交(但你可以尝试它)。

大卫

+2

对于(1)。切换到抽象基类有所帮助,但仍有一个警告仍然有效: 'Snippets.Controllers.SnippetsController.View()'隐藏继承的成员'System.Web.Mvc.Controller.View()'。如果隐藏的目的是使用新的关键字' – artvolk 2010-04-27 15:16:16

+0

我不认为T4MVC产生的东西叫'视图'。你确定这不是你的基本控制器本身? – 2010-04-27 20:09:40

+2

Ahhr。它似乎不是T4MVC相关,我有行动称为View(),我会尝试使用[ActionName]。感谢您回答我的快速简单的问题! – artvolk 2010-04-27 20:42:54

相关问题