扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年10月2日
关键字:
在本页阅读全文(共2页)
上面的代码,是典型的对属性的赋值和存取的语句了,相信大家都很熟悉了。要提及一点的是,第2行和第9行的category和descriptiton属性,是该控件的属性窗口中,对backcoloron和backcoloroff两个属性的一个描述。注意,我们使用了color类,这样比较方便,可以用vs.net自带的颜色选择器,而不用输入颜色的十六进制值。
接着,下面是比较重要的部分。在这个新的控件, 我们将用重载一个AddAttributesToRender()的方法输出新的内容到浏览器中。其中,将加入对客户端的onfocus和onblur事件的响应。另外,要注意的是,当在VS.NET创建该控件时,会自动调用该方法,所以我们可以在设计期间对其中的属性进行设置。
line 1: protected override void AddAttributesToRender( HtmlTextWriter writer )
line 2: {
line 3: base.AddAttributesToRender( writer );
line 4: //only add the client-side javascript for design mode or IE
line 5: if( inDesignMode() || System.Web.HttpContext.Current.Request.Browser.Type.IndexOf( "IE" ) > -1 )
line 6: {
line 7: writer.AddAttribute( "onFocus", "JavaScript:this.style.backgroundColor=@#" + ColorTranslator.ToHtml( _colOn ) + "@#;" );
line 8: if( _colOff.Equals( Color.Empty ) )
line 9: {
line 10: _colOff = this.BackColor;
line 11: }
line 12: writer.AddAttribute( "onBlur", "JavaScript:this.style.backgroundColor=@#" + ColorTranslator.ToHtml( colOff ) + "@#;" );
line 13: }
line 14: }
line 1: private bool inDesignMode()
line 2: {
line 3: bool blnOut = false;
line 4: if( object.ReferenceEquals( System.Web.HttpContext.Current, null ) )
line 5: {
line 6: blnOut = true;
line 7: }
line 8: else
line 9: {
line 10: blnOut = false;
line 11: }
line 12: return blnOut;
line 13: }
<%@ Register TagPrefix="lib" Namespace="ControlLib" Assembly="ControlLib" %>
[assembly: TagPrefix ( "ControlLib" , "lib" )]
JavaScript:debugger;this.style.backgroundColor=@#blue@#;
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者