为了账号安全,请及时绑定邮箱和手机立即绑定

开发简单Web服务器控件碰到的问题-何时调用基类方法?

开发简单Web服务器控件碰到的问题-何时调用基类方法?

蛊毒传说 2018-12-06 23:31:29
做一个简单的Web服务器控件:变色的Label  public class MyLabel : Label    {        protected override void AddAttributesToRender(HtmlTextWriter writer)        {             this.Attributes.Add("onmouseover", "style.color='#ff0000';style.cursor='pointer';");            this.Attributes.Add("onmouseout", "style.color='#000000';style.cursor='default';");            base.AddAttributesToRender(writer);        }    } 运行正常。如果把:base.AddAttributesToRender(writer);这句移到前面,即:             base.AddAttributesToRender(writer);            this.Attributes.Add("onmouseover", "style.color='#ff0000';style.cursor='pointer';");            this.Attributes.Add("onmouseout", "style.color='#000000';style.cursor='default';"); 就发现没效果了。不明白,为什么base.AddAttributesToRender(writer);这句只能放后面? 而另外一个简单控件:         protected override void RenderContents(HtmlTextWriter output)        {            base.RenderContents(output);            string template = "<h{0}>这是一个简单的Web控件</h{0}>";            string html = "";            for (int i = 1; i < 6; i++)            {                html += string.Format(template, i);            }            output.Write(html);        } 这句base.RenderContents(output);却要放在前面? 开发简单Web服务器控件时 ,究竟应该何时调用基类方法?
查看完整描述

1 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

   base.AddAttributesToRender(writer); 我考虑应该是这句话就是将属性值输出到HTML字符串输出流里面的。你再这个句话的后面添加,那就不会有效了!仅供参考!

查看完整回答
反对 回复 2019-01-21
  • 1 回答
  • 0 关注
  • 221 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号