0

做一个最简单的Web控件2-AddAttributesToRender

by 刘武 9. 十一月 2009 20:42

回顾上一篇的例子,如果我们直接在页面中添加该控件:<cc1:myhyperlink id="MyHyperLink1" runat="server"></cc1:myhyperlink>,那么浏览该页面的时候你会看到如下的HTML代码:<span id="MyHyperLink1"><a href="http://www.liuwu.net" target="_blank">Welcome To Liuwu.Net</a></span>,比我们预想的多了一个span标签,其实由于我们继承了WebControl类,该类会默认生成<span></span>容器。如果不需要该标签,我们可以重载TagKey属性和AddAttributesToRender方法: 

protected override HtmlTextWriterTag TagKey
{
    get
    {
        return HtmlTextWriterTag.A;
    }
}

protected override void AddAttributesToRender(HtmlTextWriter writer)
{
    writer.AddAttribute(HtmlTextWriterAttribute.Href, "http://www.liuwu.net");
    writer.AddAttribute(HtmlTextWriterAttribute.Target, "_blank");
    base.AddAttributesToRender(writer);
}

protected override void RenderContents(HtmlTextWriter output)
{
    output.Write("Welcome To Liuwu.Net");
}

TagKey属性指明了该控件最外层的标签,AddAttributesToRender方法则为该标签添加必要的属性,RenderContents方法在上一篇已经有介绍。重新浏览该页面,Span标签已经没有了。

Tags:

技术生涯

添加评论


(将显示你的Gravatar图标)

biuquote
  • 评论
  • 在线预览
Loading



Powered by BlogEngine.NET 1.6.1.9  登录
Original Design by Laptop Geek, Adapted by onesoft