在实际项目中使用T4MVC

时间:2010-04-26 06:08:27

标签: asp.net-mvc t4mvc

T4MVC很酷,但我在项目中集成了一些问题,任何帮助都非常适合:

  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 Snippets

  2. 是否可以使用自定义路由的强类型名称,例如,我的路由定义如下:

        routes.MapRoute(
            "Feed",
            "feed/",
            MVC.Snippets.Rss()
        );
    
  3. 是否可以替换:

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

    有类似的东西:

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

    2. T4MVC始终生成带有大写控制器和动作名称的链接,例如: / Snippets / Add代替/ snippets / add。可以生成小写吗?

1 个答案:

答案 0 :(得分:18)

  1. 您可以将基本控制器类更改为抽象类吗?我认为那会解决它。

  2. 请参阅此文章,讨论此问题:http://forums.asp.net/t/1535567.aspx

  3. 如果您查看t4mvc.settings.t4,您将看到一个ProcessVirtualPathDefault方法,您可以在不触及主.tt文件的情况下进行更改。

  4. 请参阅http://forums.asp.net/t/1532057.aspx。虽然尚未提交(但您可以尝试),但仍有建议修复。

  5. 大卫