您的位置:首页 > 编程语言 > ASP

asp.net组件(2):override Render use HtmlTextWriter

2008-06-11 11:13 609 查看

asp.net组件(2):override Render use HtmlTextWriter

在 前一篇 组件(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源代码 就会发现差别.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: