我想创建一个调试辅助函数,我可以在MVC局部视图中使用它来显示渲染调用层次结构。
例如,如果我放置
<%=Html.ShowRenderPath() %>
在我的部分名为endpoint.ascx中,并使用
从另一个视图(midpoint.ascx)调用<% Html.RenderPartial("endpoint") %>
,这是从另一个视图(index.aspx)
调用的<% Html.RenderPartial("midpoint") %>
我想要帮助函数写出:
〜/ views / test / index.aspx - &gt; 〜/ views / test / midpoint.ascx - &gt; 〜/视图/测试/ endpoint.ascx
任何人都可以指出我正确的方向来获得部分等等的视图吗?
这样我就可以调试一个已经存在的MVC应用程序,该应用程序使用了许多renderpatials,如果我们能看到这些渲染路径会更容易。
答案 0 :(得分:1)
使用StackTrace
生成堆栈跟踪。从中可以识别嵌套视图/局部视图类(以及其他内容)。您应该能够通过命名空间将您的视图与框架代码分开。
答案 1 :(得分:0)
感谢您的回复(upvote for your effort :-)
我们找到的解决方案是更新我们的自定义视图引擎以输出HTML注释,这些注释指示每个视图的来源,从而在源视图中提供页面构造的细分。这只是在调试模式下输出。