Asp.net mvc 3 在使用范围中阻止asp.net mvc Html创建
我使用返回IDisposable的HTML帮助程序来创建我在应用程序中经常需要的特定DIV结构。此类的构造函数创建打开的div,而Dispose方法创建关闭的div。现在我需要保护我的应用程序,我不希望在某些情况下创建此结构,但我还需要在使用和结束之间生成的每种HTML,如果其范围也未呈现 我做的第一件事是用dummy替换ViewContext中的TextWriter:Asp.net mvc 3 在使用范围中阻止asp.net mvc Html创建,asp.net-mvc-3,Asp.net Mvc 3,我使用返回IDisposable的HTML帮助程序来创建我在应用程序中经常需要的特定DIV结构。此类的构造函数创建打开的div,而Dispose方法创建关闭的div。现在我需要保护我的应用程序,我不希望在某些情况下创建此结构,但我还需要在使用和结束之间生成的每种HTML,如果其范围也未呈现 我做的第一件事是用dummy替换ViewContext中的TextWriter: _helper.ViewContext.Writer = new StringWriter(new StringBuilder
_helper.ViewContext.Writer = new StringWriter(new StringBuilder());
它适用于直接使用ViewContext编写器呈现HTML的每段代码,但不适用于其他代码(原始HTML和其他帮助程序)
所以问题是:我们如何防止Asp.net视图在using块的范围内呈现HTML?我担心目前无法阻止使用块呈现
的内容。这并不是这个街区的初衷。如果你想防止某些东西被渲染,你可以考虑使用<代码>如果是< /C> >语句。 < P>恐怕现在无法使用< /Cord>Bug来阻止<代码>的内容。这并不是这个街区的初衷。如果你想防止某些东西被渲染,你可以考虑使用<代码>如果是< /C> >语句。 < P>我没有示例代码,这个想法很难处理,但是如果你有无数的东西需要确保,并且没有时间添加条件逻辑,那么它可能会起作用。
如果您使用应用程序的Response.Filter删除html会怎么样?然后,在构造函数和dispose方法中,如果用户未被授权查看内容,则输出一些易于查找的元素,在流发送到浏览器之前,您可以使用正则表达式替换这些元素,或者使用Html Agility Pack解析/修改DOM。我没有示例代码,这个想法很粗糙,但如果你有大量的这些东西需要保护,而没有时间添加条件逻辑,那么它可能会起作用
如果您使用应用程序的Response.Filter删除html会怎么样?然后,在构造器和dispose方法中,如果用户未被授权查看内容,则输出一些易于查找的元素,您可以在将流发送到浏览器之前使用正则表达式替换这些元素,或者使用Html Agility Pack解析/修改DOM。完全同意您的观点,但如果要使用这些元素,我确实有很多地方,我完全同意你的观点,但我确实有一千个地方,如果它被使用,我会尝试黑客过滤的方法。