`
ayaya
  • 浏览: 459542 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

HtmlTextWriter

阅读更多
HtmlTextWriter的构造函数要求必须传递一个与TextWriter接口兼容的实例。大家可以根据需要选择合适的TextWriter接口实现类,因为该类的选择将决定最终生成的Html文本的输出方式,例如我想把结果输出到一个TextBox中,于是我就使用了StringWriter类的实例作为参数传入:
    StringWriter sw=new System.IO.StringWriter();
    HtmlTextWriter writer=new HtmlTextWriter(sw);
如果要获得结果,只需要使用sw.toString()就可以了。注意,HtmlTextWriter本身不提供输出方法或属性。

HtmlTextWriter常用方法

1. void RenderBeginTag(HtmlTextWriterTag tagKey)
    用于创建Html开始标签,如<body>,这里的HtmlTextWriterTag是一个枚举类型,里面有所有的标准Html4.0标签枚举值,如果我要使用添加body标签,就是RenderBeginTag(HtmlTextWriterTag.Body)

2. void RenderEndTag()
    与RenderBeginTag一一对应,有几个RenderBeginTag就必须有几个RenderEndTag,当然,RenderEndTag不一定要马上跟在对应的RenderBeginTag之后,要根据Html语句决定。如下面的例子:
<html>
    <head></head>
    <body></body>
</html>
上面一段是html基本结构,使用HtmlTextWriter生成就是
    writer.RenderBeginTag(HtmlTextWriterTag.Html);
    writer.RenderBeginTag(HtmlTextWriterTag.Head);
    writer.RenderEndTag();
    writer.RenderBeginTag(HtmlTextWriterTag.Body);
    writer.RenderEndTag();
    writer.RenderEndTag();
3. void AddAttribute()
    用于添加标签的属性,例如<img>标签的url属性、width属性等。使用该方法时要注意一点,AddAttribute语句必须出现在对应的RenderBeginTag的前面,请看下面的例子:
    writer.AddAttribute("url","../xxx.gif");
    writer.AddAttribute("width","50");
    writer.AddAttribute("height","50");
    writer.RenderBeginTag(HtmlTextWriterTag.Img);
    writer.RenderEndTag();

上面一段语句将添加<img url="../xxx.gif" width="50" height="50" />,可以发现所有的img标签属性的添加都在RenderBeginTag之前。

4. void Write()和void WriteLine()
用于写除标准Html标签以外的所有信息。
分享到:
评论

相关推荐

    HtmlTextWriter.zip_html 生成_zip

    在IT领域,HTMLTextWriter是.NET Framework中用于生成HTML代码的类,主要用在服务器控件渲染到客户端时。这个类是System.Web.UI.HtmlTextWriter的一部分,它扩展了TextWriter,为编写HTML提供了一些便利的方法。本...

    HtmlTextWriter c# vb.net后台输出html代码StringBuilder小工具

    HtmlTextWriter c# vb.net后台输出html代码StringBuilder小工具.把HTML代码粘贴到框里,点生成就可以得到后台输出HTML的代码。很方便实用。 需要源代码的也可以去codeplex下载

    asp.net实例代码protected override void Render(HtmlTextWriter writer)

    protected override void Render(HtmlTextWriter writer) { //把最终要输出的html压缩后再输出 StringWriter html = new StringWriter(); HtmlTextWriter tw = new HtmlTextWriter(html); base.Render(tw); string ...

    DynamicMarkup:在 C# 中生成 html 的简单方法,而不必求助于可怕的 HtmlTextWriter

    动态标记在 C# 中生成标记的简单方法,而不必求助于可怕的 HtmlTextWriter。 使用 C# 4 动态绑定提供一个以 jQuery API 为模型的漂亮界面(我们都知道它在操作标记方面非常出色) 目前文档很少,请查看 以获取更多...

    asp.net生成html

    using (HtmlTextWriter writer = new HtmlTextWriter(sw)) { writer.WriteLine("&lt;html&gt;"); writer.WriteBeginTag("head"); writer.WriteLine("我的HTML页面&lt;/title&gt;"); writer.WriteEndTag("head"); writer....

    页面导出EXCEL

    4. **初始化 StringWriter 和 HtmlTextWriter:** 分别用来存储和渲染 Excel 文件的内容。 5. **绑定数据源:** 将 `DataTable` 数据绑定到 DataGrid 控件上。 6. **渲染控件:** 使用 `RenderControl` 方法将 ...

    aspx页面转换为html页面实例

    protected override void Render(HtmlTextWriter writer) { // 创建一个StringWriter对象,用于将ASPX页面的内容存储为字符串 System.IO.StringWriter html = new System.IO.StringWriter(); // 创建...

    实现在asp.net中调用打印功能

    例如,在示例代码中,我们可以看到 System.IO.StringWriter 对象用来生成文件,而 System.Web.UI.HtmlTextWriter 对象用来将文件写入到 Response 对象中。 在网页中添加打印按钮需要使用 JavaScript 和 HTML 代码。...

    网页转换成word,excel

    HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter); // 渲染Panel1到HtmlTextWriter panel1.renderControl(htmlTextWriter); // 将StringWriter的内容写入响应 response.getWriter().write...

    第章 从零开始开发服务器控件.docx

    - **Render(HtmlTextWriter writer)**:调用RenderBeginTag、RenderContents和RenderEndTag。 - **RenderBeginTag(HtmlTextWriter writer)**:输出控件的开始标签。 - **RenderContents(HtmlTextWriter output)**...

    GridView中的数据导出为Excel

    HtmlTextWriter htw = new HtmlTextWriter(sw); gvUsers.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); } ``` 这段代码在用户点击导出按钮时触发。它清空了HTTP响应的内容,设置响应头为...

    导出数据到exel,word常用代码

    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw); // 将datagrid的数据转换成HTML格式 sb.Append("&lt;html&gt;&lt;body&gt;"); dgShow.RenderControl(hw); sb.Append("&lt;/body&gt;&lt;/html&gt;"); // ...

    导出excel

    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); ctl.RenderControl(hw); HttpContext.Current.Response.Write(tw.ToString()); HttpContext.Current.Response.End(); ``` 这段...

    ASP.NET HTML移除空格

    2. **使用HtmlTextWriter类**:通过自定义HtmlTextWriter,可以重写Write()方法来过滤掉空格。在ASP.NET控件的Render方法中,可以使用这个自定义的HtmlTextWriter。 ```csharp public override void RenderBeginTag...

    加载ASPX页面时生成HTML文件保存在指定文件夹内

    HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter); ``` 接下来通过重写`Render`方法并传入`htmlWriter`,可以将页面内容写入到`stringWriter`中。 ```csharp base.Render(htmlWriter); htmlWriter....

    .NET生成静态文件(HTML)的三种方法

    ### 方法一:使用StringWriter和HtmlTextWriter `.NET` 提供了 `System.IO.StringWriter` 和 `System.Web.UI.HtmlTextWriter` 类来帮助我们生成HTML文本。这种方法适用于简单的HTML结构生成,它允许我们使用类似ASP...

    网页数据(包括图片)导入word

    在这个方法中,我们首先设置Response对象的CharacterSet、ContentEncoding和ContentType,然后使用StringWriter和HtmlTextWriter将网页内容渲染到Response对象中,最后使用Response.End()方法来结束响应。...

    DataTable导出为word,excel,html,csv,pdf

    HtmlTextWriter hTw = new HtmlTextWriter(swOut); control.RenderControl(hTw); HttpContext.Current.Response.Write(swOut.ToString()); HttpContext.Current.Response.End(); } ``` 该方法通过创建一个`...

    C#打印EXCEL(三)

    System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); oHtmlTextWriter.WriteLine(RedContro()); Response.Write(oStringWriter.ToString()); Response.End(); ...

Global site tag (gtag.js) - Google Analytics