列出MVC路由的工具 - Visual Studio Express

rwa*_*ter 12 .net asp.net-mvc asp.net-mvc-routing visual-studio-express

我正在学习.NET MVC,我正在构建的应用程序变得非常像意大利面条.在我的代码中,我在不同的控制器中有很多动作,这些动作自然会产生各种视图和偏见.更糟糕的是,我有@ Html.Action命令,这增加了另一层混乱.其中一些是从默认的脚手架操作中遗留下来的.

是否有任何工具可以生成我站点中所有可能路由的列表以及它们返回的视图?

我还希望找到没有视图的所有未使用的视图和操作,并且通常会正确地重构所有内容.这样的事情(请不要评论这个具体的例子):

Route               Views returned
------------------------------------------
/User/Edit          /User/Edit.cshtml
/Admin/User/Edit    /User/Edit.cshtml
...
Run Code Online (Sandbox Code Playgroud)

这样的事情存在吗?可以用.tt模板完成吗?

或许我的整个方法都错了..!

Mar*_*num 8

这些可能会帮助你的方式:

我没有测试过Mvc Route Visualizer,但看起来它可以做你所要求的.

编辑:

也许这对你更好.它不会向您显示返回的视图,但它至少会显示所有控制器和操作:

  1. MvcCodeRouting nuget包添加到项目中.
  2. 转到注册路径的方法.
  3. 之后routes.IgnoreRoute("{resource}.axd/{*pathInfo}");,添加以下代码行:

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
    // If you don't have "HomeController", choose another controller you have.
    // MvcCodeRouting will look for all controllers in the same namespace and sub-namespaces as the one specified here.
    routes.MapCodeRoutes(typeof(HomeController), new CodeRoutingSettings
    {
        UseImplicitIdToken = true
    });
    
    // Other, existing, routes here...
    
    Run Code Online (Sandbox Code Playgroud)
  4. 构建并运行应用程序.

  5. 转到http://yoururl.com/routes.axd查看所有创建的路线,它们将包含所有操作.
  6. 如果您已安装Route Debugger,您可以在那里看到它们:

    路由调试器截图