【问题标题】:Get current generated html while debugging mvc3 view在调试 mvc3 视图时获取当前生成的 html
【发布时间】:2012-07-15 03:42:48
【问题描述】:

在逐步生成视图时。有没有办法查看到那时已经生成的 HTML?我尝试过查看 locals 变量列表,但找不到它。

【问题讨论】:

  • 作为替代方案,您可以将视图呈现为字符串并以这种方式查看。参考stackoverflow.com/questions/483091/render-a-view-as-a-string
  • 虽然我认为这不会解决我希望的特定问题。我确实有一个可以使用的地方,所以谢谢你的链接!
  • @jared 我认为您应该尝试使用 ParttailView,因为在部分视图 MvcHtmlString 上返回类型,因此可以在服务器端获取所有生成的 Html 以获取更多信息,请参阅 craftycodeblog.com/2010/05/15/…
  • @Shivkumar 部分视图非常适合您想要重用的 HTML 片段。我不认为将我的所有文档都转换为部分文档是一个好习惯(为了解决这个问题)。如果不打算重用,那么部分很适合重用,那么(在我看来)它不属于部分。

标签: c# asp.net-mvc-3 debugging razor visual-studio-debugging


【解决方案1】:

您可以查看 ViewContext.Writer。尝试添加...

((System.Web.Mvc.WebViewPage)(this)).ViewContext.Writer

到您的观察窗口。

【讨论】:

  • 这将允许您在单步浏览视图时查看已生成的 HTML。你试过了吗?对此答案有任何顾虑吗?
  • 虽然这段代码没有像为我写的那样工作,但它让我找到了解决方案,所以谢谢你。我最终为(this).ViewContext.Writer.ToString() 添加了一个手表,无论出于何种原因,当我加入演员表时,都会出现 DLL 冲突。在我的布局底部,我包含了一个@if (false){},这样我就可以在返回之前完整地获取 html(如果你想逐步执行,显然可以更快地添加一个断点)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多