0

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

htmlHelper.ViewContext.Writer.Write("<div>");

有什么方法可以访问流;以便我可以在示例中的最后一个“div”标签上方操作或添加一些 html 代码?

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

4

1 回答 1

0

这取决于您使用的视图引擎,但如果您编写一个 html 助手,它会容易得多。请参阅创建自定义 HTML 帮助程序

简单的 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属性WebPageBase也是一个 TextWriter

于 2014-05-03T23:26:25.260 回答