如何显示哪些cshtml文件正在构建我的页面?

时间:2012-04-26 20:13:38

标签: asp.net-mvc-3 debugging razor rendering-engine

场景

我的团队正在构建一个相当复杂的MVC3 / C#站点。最近进行了一些重构,许多视图,部分视图和模板已经移动。当我查看其中一个页面时,很难分辨哪个cshtml文件负责页面的哪一部分。我想更快地查看我应该处理哪个文件。

为什么这是一个问题

  • 我们的表示层中有很多文件,文件夹结构很复杂。
  • 某些cshtml文件具有相同的名称,但文件路径不同。
  • 我们的路由表同样复杂。
  • 我们大量使用了布局,共享视图,部分视图和模板。单个页面可能有超过10个cshtml文件构建它。
  • 大多数客户端文本来自资源字符串,因此我不能只使用Ctrl-F来显示页面上的文本。
  • 单步执行调试器并不能节省我很多时间。

这些东西都没有显示出来,但它们耗费时间。

我想要什么

当我在localhost(仅限)上运行它时,我希望渲染的HTML出现如下:

<!-- From: ~/shared/_layout.cshtml -->
<html>
<body>
    <!-- From: ~/admin/view.cshtml -->
    <h1>Here comes a list of widgets:</h1>

     <!-- From: ~/widgets/list.cshtml -->
     <ul>
         <!-- From: ~/widgets/view.cshtml -->
         <li>Widget 1</li>
         ...etc.

我会接受其他方式获取我需要的信息,包括第三方工具。

到目前为止的想法

我的想法是调整我们用于pageBaseType的基类,但我对MVC(<1年)有点新鲜,这仍然有点过头了。我不确定要覆盖哪种方法,或者如何获取和呈现视图的文件名。

1 个答案:

答案 0 :(得分:1)