asp.net组件(2):override Render use HtmlTextWriter
2007-12-17 22:52
507 查看
在 前一篇 组件(1) 中加入以下代码
Render主要用来 绘制控件.
HtmlTextWriter 用来将标志输出到浏览器
protected override void Render(HtmlTextWriter writer)
{
//base.Render(writer);
//第一种 使用writer.Write
//writer.Write("<table width='500' border='1'><tr><td align='center'>" + Name + "今年" + Age.ToString() + "岁</td></tr></table>");
//HtmlTextWriter.Write 将提供string输出
//产生的html源代码格式为<table width='500' align='center' border='1'><tr><td align='center'>阿鹏今年20岁</td></tr></table>
//第二种 使用writer.WriteLine
/**//*writer.WriteLine("<table width='500' border='1'>");
writer.WriteLine("<tr>");
writer.WriteLine("<td align='center'>");
writer.WriteLine(Name + "今年" + Age.ToString() + "岁");
writer.WriteLine("</td>");
writer.WriteLine("</tr>");
writer.WriteLine("</table>");*/
//HtmlTextWriter.WriteLine 将提供string按行输出
/**//*产生的html源代码格式为<table width='500' align='center' border='1'>
<tr>
<td align='center'>
阿鹏今年20岁
</td>
</tr>
</table>*/
writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "500px");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderStyle, "solid");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "1px");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderColor, "#000");
writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center");
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write(Name + "今年" + Age.ToString() + "岁");
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
/**//*产生的html源代码格式为<table style="width:500px;border-style:solid;border-width:1px;border-color:#000;">
<tr>
<td style="text-align:center;">阿鹏今年20岁</td>
</tr>
</table>*/
}
注意一点:AddStyleAttribute在RenderBeginTag标签之前
<table width="500"></table>
但我们使用 HtmlTextWriter 顺序是相反的
writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "500px");
writer.RenderBeginTag(HtmlTextWriterTag.Table);
这个其实大家运行下二者查看下html源代码 就会发现差别.
Render主要用来 绘制控件.
HtmlTextWriter 用来将标志输出到浏览器
protected override void Render(HtmlTextWriter writer)
{
//base.Render(writer);
//第一种 使用writer.Write
//writer.Write("<table width='500' border='1'><tr><td align='center'>" + Name + "今年" + Age.ToString() + "岁</td></tr></table>");
//HtmlTextWriter.Write 将提供string输出
//产生的html源代码格式为<table width='500' align='center' border='1'><tr><td align='center'>阿鹏今年20岁</td></tr></table>
//第二种 使用writer.WriteLine
/**//*writer.WriteLine("<table width='500' border='1'>");
writer.WriteLine("<tr>");
writer.WriteLine("<td align='center'>");
writer.WriteLine(Name + "今年" + Age.ToString() + "岁");
writer.WriteLine("</td>");
writer.WriteLine("</tr>");
writer.WriteLine("</table>");*/
//HtmlTextWriter.WriteLine 将提供string按行输出
/**//*产生的html源代码格式为<table width='500' align='center' border='1'>
<tr>
<td align='center'>
阿鹏今年20岁
</td>
</tr>
</table>*/
writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "500px");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderStyle, "solid");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "1px");
writer.AddStyleAttribute(HtmlTextWriterStyle.BorderColor, "#000");
writer.RenderBeginTag(HtmlTextWriterTag.Table);
writer.RenderBeginTag(HtmlTextWriterTag.Tr);
writer.AddStyleAttribute(HtmlTextWriterStyle.TextAlign, "center");
writer.RenderBeginTag(HtmlTextWriterTag.Td);
writer.Write(Name + "今年" + Age.ToString() + "岁");
writer.RenderEndTag();
writer.RenderEndTag();
writer.RenderEndTag();
/**//*产生的html源代码格式为<table style="width:500px;border-style:solid;border-width:1px;border-color:#000;">
<tr>
<td style="text-align:center;">阿鹏今年20岁</td>
</tr>
</table>*/
}
注意一点:AddStyleAttribute在RenderBeginTag标签之前
<table width="500"></table>
但我们使用 HtmlTextWriter 顺序是相反的
writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "500px");
writer.RenderBeginTag(HtmlTextWriterTag.Table);
这个其实大家运行下二者查看下html源代码 就会发现差别.
相关文章推荐
- asp.net组件(2):override Render use HtmlTextWriter
- asp.net实例代码protected override void Render(HtmlTextWriter writer)
- asp.net实例代码protected override void Render(HtmlTextWriter
- asp.net实例代码protected override void Render(HtmlTextWriter writer)
- ASP.NET MVC 2.0 Html.RenderPartial & Html.RenderAction
- asp.net Html table Render to Excel
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction差别
- HTML Controls->ASP.NET HtmlInputText Control
- asp.net 页面 输出之前修改 html(render)
- jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
- 【ASP.NET】 MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction差别
- How to use HTML-5 data-* attributes in ASP.NET MVC
- asp.net实现在XmlTextWriter中写入一个CDATA的方法
- asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法
- asp.net控件开发基础(1) -- Render、输出html-asp.net关注