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

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源代码 就会发现差别.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值