【问题标题】:How can you find which view called which partial view in ASP.Net MVC如何在 ASP.Net MVC 中找到哪个视图调用了哪个局部视图
【发布时间】:2010-11-26 20:05:59
【问题描述】:

我想创建一个调试辅助函数,我可以在 MVC 局部视图中使用它来显示渲染调用层次结构是什么。

例如,如果我放置

<%=Html.ShowRenderPath() %>

在我的部分中调用 endpoint.ascx 并使用

从另一个视图 (midpoint.ascx) 调用它
<% Html.RenderPartial("endpoint") %>

这是从另一个视图(index.aspx)调用的

<% Html.RenderPartial("midpoint") %>

我希望帮助函数写出来:

~/views/test/index.aspx -> ~/views/test/midpoint.ascx -> ~/views/test/endpoint.ascx

谁能指出我正确的方向来获取呈现局部等的视图?

这样我就可以调试一个已经存在的 MVC 应用程序,它使用了许多渲染空间,如果我们能看到这些渲染路径会容易得多。

【问题讨论】:

    标签: c# model-view-controller asp.net-mvc-2


    【解决方案1】:

    使用StackTrace 生成堆栈跟踪。从中您可以识别嵌套视图/部分视图类(以及其他内容)。您应该能够通过命名空间将视图与框架代码分开。

    【讨论】:

      【解决方案2】:

      感谢您的回复(为您的努力点赞 :-)

      我们找到的解决方案是更新我们的自定义视图引擎以输出 HTML cmets,它指示每个视图的源,从而在源视图中给出页面结构的细分。这仅在调试模式下输出。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-25
        • 1970-01-01
        • 2020-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多