检查由 ASP.NET MVC 4 Html 助手生成的 HTML 标签
Check what HTML tags generated by ASP.NET MVC 4 Html helpers
在 ASP.NET MVC 4 中调试视图期间,我想知道在 HTML 帮助程序调用后立即生成了哪些 HTML 标记。假设我在视图中有一个电话 Html.EditorFor(x => x.Name)
。我在视图中的这个调用之后立即设置了一个断点。当它在调试时停在这里时,现在我想在发送之前检查那个 Html 助手究竟生成了什么 HTML 标签。有没有办法做到这一点?谢谢,
要记住的要点:-
它总是 HTML 助手总是,直到渲染事件不会出现,所以在渲染事件之前你将总是 HTML 助手只有.
您可以在开发者工具中看到呈现的HTML。
我发现在ASP.NETMVC4中,如果Razor是视图引擎,那就简单了。在调试视图中,下面可以显示 Watch window 中构建的 HTML 字符串(在 VS2012 中检查过).
this.ViewContext.Writer // System.IO.TextWriter {System.IO.StringWriter}
this.ViewContext.Writer.ToString()
或
this.GetOutputWriter() // it returns this.ViewContext.Writer.
如果使用传统的aspx视图引擎,在调试视图时我还没有找到类似的方式来显示它,因为我无法获取它的Writer
或InnerWriter
属性如下所示这样做。但是我们总是可以使用VS2015调试视图,而VS2015的新特性在[=21=中显示函数调用的刚返回值。 ]Locals window 可以告诉我们从上次 Html 帮助程序调用 :)[=31= 返回的构造的 HTML 字符串]
this.Writer // {System.Web.UI.HtmlTextWriter}
this.Writer.InnerWriter // System.IO.TextWriter {System.Web.Mvc.ViewPage.SwitchWriter}
在 ASP.NET MVC 4 中调试视图期间,我想知道在 HTML 帮助程序调用后立即生成了哪些 HTML 标记。假设我在视图中有一个电话 Html.EditorFor(x => x.Name)
。我在视图中的这个调用之后立即设置了一个断点。当它在调试时停在这里时,现在我想在发送之前检查那个 Html 助手究竟生成了什么 HTML 标签。有没有办法做到这一点?谢谢,
要记住的要点:-
它总是 HTML 助手总是,直到渲染事件不会出现,所以在渲染事件之前你将总是 HTML 助手只有.
您可以在开发者工具中看到呈现的HTML。
我发现在ASP.NETMVC4中,如果Razor是视图引擎,那就简单了。在调试视图中,下面可以显示 Watch window 中构建的 HTML 字符串(在 VS2012 中检查过).
this.ViewContext.Writer // System.IO.TextWriter {System.IO.StringWriter}
this.ViewContext.Writer.ToString()
或
this.GetOutputWriter() // it returns this.ViewContext.Writer.
如果使用传统的aspx视图引擎,在调试视图时我还没有找到类似的方式来显示它,因为我无法获取它的Writer
或InnerWriter
属性如下所示这样做。但是我们总是可以使用VS2015调试视图,而VS2015的新特性在[=21=中显示函数调用的刚返回值。 ]Locals window 可以告诉我们从上次 Html 帮助程序调用 :)[=31= 返回的构造的 HTML 字符串]
this.Writer // {System.Web.UI.HtmlTextWriter}
this.Writer.InnerWriter // System.IO.TextWriter {System.Web.Mvc.ViewPage.SwitchWriter}