我使用返回 IDisposable 的 HTML 帮助程序来创建我在应用程序中经常需要的特定 DIV 结构。此类的构造函数创建打开的 div,而 Dispose 方法创建关闭的 div。现在我需要保护我的应用程序,并且我希望在某些情况下不要创建这个结构,但如果它的范围也没有呈现,我还需要在使用和结束之间产生的每种 HTML。
我做的第一件事是将在 ViewContext 中找到的 TextWriter 替换为 dummy :
_helper.ViewContext.Writer = new StringWriter(new StringBuilder());
它适用于直接使用 ViewContext Writer 呈现 HTML 的每一段代码,但不适用于其他代码(原始 HTML 和其他帮助程序)
所以问题是:我们如何防止 Asp.net 视图在 using 块的范围内呈现 HTML?