我正在为MVC5编写一个html帮助扩展。 我需要访问ViewContext的流来编辑它。 (像文本阅读器一样)
htmlHelper.ViewContext.Writer.Write("<div>");
有没有办法访问流;这样我就可以在最后一个&#34; div&#34;之上操作或添加一些HTML代码。示例中的标签?
我无法找到任何关于我在哪里可以找到文本作者写入的流的线索?
答案 0 :(得分:0)
这取决于您使用的是什么视图引擎,但如果您编写一个html帮助程序,它将会更容易。见Creating Custom HTML Helpers
简单的html助手可以这样写:
@helper CustomDiv(var param1, var param2){
Write("something to html encode & stuff");
WriteLiteral("<div>something that is html</div>");
}
在Razor中,您也可以只调用@Write()
,它会将字符串编码为HTML。如果你需要一个TextWriter,请引用Context.Response.Output
但这不允许你像HtmlHelper一样操纵HTML内联 - 它更适合覆盖普通的处理程序。
或只是Output
的{{1}}属性,它也是一个TextWriter