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标签以外的所有信息。
分享到:
相关推荐
在IT领域,HTMLTextWriter是.NET Framework中用于生成HTML代码的类,主要用在服务器控件渲染到客户端时。这个类是System.Web.UI.HtmlTextWriter的一部分,它扩展了TextWriter,为编写HTML提供了一些便利的方法。本...
HtmlTextWriter c# vb.net后台输出html代码StringBuilder小工具.把HTML代码粘贴到框里,点生成就可以得到后台输出HTML的代码。很方便实用。 需要源代码的也可以去codeplex下载
protected override void Render(HtmlTextWriter writer) { //把最终要输出的html压缩后再输出 StringWriter html = new StringWriter(); HtmlTextWriter tw = new HtmlTextWriter(html); base.Render(tw); string ...
动态标记在 C# 中生成标记的简单方法,而不必求助于可怕的 HtmlTextWriter。 使用 C# 4 动态绑定提供一个以 jQuery API 为模型的漂亮界面(我们都知道它在操作标记方面非常出色) 目前文档很少,请查看 以获取更多...
using (HtmlTextWriter writer = new HtmlTextWriter(sw)) { writer.WriteLine("<html>"); writer.WriteBeginTag("head"); writer.WriteLine("我的HTML页面</title>"); writer.WriteEndTag("head"); writer....
4. **初始化 StringWriter 和 HtmlTextWriter:** 分别用来存储和渲染 Excel 文件的内容。 5. **绑定数据源:** 将 `DataTable` 数据绑定到 DataGrid 控件上。 6. **渲染控件:** 使用 `RenderControl` 方法将 ...
protected override void Render(HtmlTextWriter writer) { // 创建一个StringWriter对象,用于将ASPX页面的内容存储为字符串 System.IO.StringWriter html = new System.IO.StringWriter(); // 创建...
例如,在示例代码中,我们可以看到 System.IO.StringWriter 对象用来生成文件,而 System.Web.UI.HtmlTextWriter 对象用来将文件写入到 Response 对象中。 在网页中添加打印按钮需要使用 JavaScript 和 HTML 代码。...
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter); // 渲染Panel1到HtmlTextWriter panel1.renderControl(htmlTextWriter); // 将StringWriter的内容写入响应 response.getWriter().write...
- **Render(HtmlTextWriter writer)**:调用RenderBeginTag、RenderContents和RenderEndTag。 - **RenderBeginTag(HtmlTextWriter writer)**:输出控件的开始标签。 - **RenderContents(HtmlTextWriter output)**...
HtmlTextWriter htw = new HtmlTextWriter(sw); gvUsers.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); } ``` 这段代码在用户点击导出按钮时触发。它清空了HTTP响应的内容,设置响应头为...
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw); // 将datagrid的数据转换成HTML格式 sb.Append("<html><body>"); dgShow.RenderControl(hw); sb.Append("</body></html>"); // ...
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw); ctl.RenderControl(hw); HttpContext.Current.Response.Write(tw.ToString()); HttpContext.Current.Response.End(); ``` 这段...
2. **使用HtmlTextWriter类**:通过自定义HtmlTextWriter,可以重写Write()方法来过滤掉空格。在ASP.NET控件的Render方法中,可以使用这个自定义的HtmlTextWriter。 ```csharp public override void RenderBeginTag...
HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter); ``` 接下来通过重写`Render`方法并传入`htmlWriter`,可以将页面内容写入到`stringWriter`中。 ```csharp base.Render(htmlWriter); htmlWriter....
### 方法一:使用StringWriter和HtmlTextWriter `.NET` 提供了 `System.IO.StringWriter` 和 `System.Web.UI.HtmlTextWriter` 类来帮助我们生成HTML文本。这种方法适用于简单的HTML结构生成,它允许我们使用类似ASP...
在这个方法中,我们首先设置Response对象的CharacterSet、ContentEncoding和ContentType,然后使用StringWriter和HtmlTextWriter将网页内容渲染到Response对象中,最后使用Response.End()方法来结束响应。...
HtmlTextWriter hTw = new HtmlTextWriter(swOut); control.RenderControl(hTw); HttpContext.Current.Response.Write(swOut.ToString()); HttpContext.Current.Response.End(); } ``` 该方法通过创建一个`...
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); oHtmlTextWriter.WriteLine(RedContro()); Response.Write(oStringWriter.ToString()); Response.End(); ...