Asp.net mvc 访问ViewContext流';作家

Asp.net mvc 访问ViewContext流';作家,asp.net-mvc,asp.net-mvc-5,html-helper,textwriter,viewcontext,Asp.net Mvc,Asp.net Mvc 5,Html Helper,Textwriter,Viewcontext,我正在为MVC5编写一个html帮助程序扩展。 我需要访问ViewContext的流来编辑它。 (就像一个文本阅读器) htmlhelp.ViewContext.Writer.Write(“”); 有没有办法进入这条小溪;这样我就可以在示例中最后一个“div”标记上方操作或添加一些html代码了 我找不到任何关于在哪里可以找到textwriter写入的流的线索?这取决于您正在使用的视图引擎,但是如果您编写html帮助程序,这将容易得多。看 可以这样编写简单的html帮助程序: @helper

我正在为MVC5编写一个html帮助程序扩展。 我需要访问ViewContext的流来编辑它。 (就像一个文本阅读器)

htmlhelp.ViewContext.Writer.Write(“”);
有没有办法进入这条小溪;这样我就可以在示例中最后一个“div”标记上方操作或添加一些html代码了


我找不到任何关于在哪里可以找到textwriter写入的流的线索?

这取决于您正在使用的视图引擎,但是如果您编写html帮助程序,这将容易得多。看

可以这样编写简单的html帮助程序:

@helper CustomDiv(var param1, var param2){
    Write("something to html encode & stuff");
    WriteLiteral("<div>something that is html</div>");
}
@helper CustomDiv(变量param1,变量param2){
写(“html编码的东西和东西”);
Writeleteral(“html格式的东西”);
}
在Razor中,您也可以调用
@Write()
,它将字符串编码为HTML。如果您需要TextWriter,请参考
Context.Response.Output
,但这将不允许您像HtmlHelper那样操作HTML内联-它更多地用于覆盖普通处理程序

或者只是
WebPageBase
Output
属性,它也是一个文本编写器

@helper CustomDiv(var param1, var param2){
    Write("something to html encode & stuff");
    WriteLiteral("<div>something that is html</div>");
}