随笔分类 -  Asp.net控件开发

复杂ASP.NET服务器控件调整小技巧
摘要:  在创建或修改布局复杂ASP.NET服务器端控件时,大量的时间都是在编译,等待JIT,修改,编译,JIT... 这样一个循环中,而且两个编译常常还很耗费时间。特别地,当控件已集成在页面之中后,在出现一些布局效果上的小偏差,再调整起来将是一个非常无趣和耗时的工作。 阅读全文

posted @ 2007-07-17 23:38 birdshome 阅读(5382) 评论(9) 推荐(0) 编辑

ASP.NET效率陷阱之——Attributes
摘要:  众所周知,在编写WebCustomControl时,继承于WebControl基类的Attributes以及其Attributes.CssStyle属性是十分常用和重要的。但就是这两个重要的属性,如果开发中使用不当却会带来莫名其妙的效率问题。 阅读全文

posted @ 2006-08-27 21:58 birdshome 阅读(15647) 评论(15) 推荐(0) 编辑

ASP.NET控件开发之"代码紧凑原则"
摘要:  我们知道制作一个控件,一般比只实现同样功能的模块要复杂,因为我们需要考虑更多的异常和适应性,才能达到我们整合和复用代码的效果。而当我们开发一个ASP.NET控件时,不管我们的控件有多么复杂的功能和UI表现,我们最终在客户端浏览器里得到的都只是HTML代码和脚本的组合。 阅读全文

posted @ 2005-09-05 22:53 birdshome 阅读(6016) 评论(10) 推荐(1) 编辑

自动处理过长字符串显示的Web控件
摘要:  我们很多时候需要在一行上显示一段说明文字,而由于Web页面宽度的不确定性,我们任意调节其宽度后,常常搞得文字撑出页面或者折成好多行。通过使用CSS,我们可以限制为一行的宽度,并使多余的字符隐藏。为了方便,做成一个小Web控件来使用。 阅读全文

posted @ 2005-08-02 23:32 birdshome 阅读(3734) 评论(7) 推荐(0) 编辑

RegisterExpandoAttribute()实现缺陷
摘要:  在Framework 2.0里微软提供了一个叫ClientScriptManager的类来专门管理Page类上面的脚本注册,并且把原来Page类上提供的RegisterXXX和IsRegisterXXX等方法都置为了Obsolete。ClientScriptManager类提供了一个叫RegisterExpandoAttribute()的新方法,不过这个方法实现得太草率了。 阅读全文

posted @ 2005-07-04 23:24 birdshome 阅读(3029) 评论(5) 推荐(0) 编辑

设计有复杂客户端Script的服务器控件
摘要:  使用ASP.NET的服务器控件,可以极大的提高我们Web开发中组件的复用性。不过由于ASP.NET默认的__doPostBack传输机制,对于我们在Web页上开发DHMTL特性的功能没有什么实质的帮助,因为我们不可能每次HTML属性修改都doPostBack,这样的效率和用户体验会死人的哦~~ 阅读全文

posted @ 2005-02-20 11:02 birdshome 阅读(10106) 评论(24) 推荐(0) 编辑

简单升级了一下可着色的ListBox控件
摘要:  记得去年年初的时候做了一个Colorful ListBox Control控件。当时考虑的因数很少,虽然那个控件实现了简单的调用接口,可是有一个致命的问题是居然没有考虑到PostBack后的状态保存问题。 阅读全文

posted @ 2005-01-01 23:07 birdshome 阅读(2588) 评论(3) 推荐(0) 编辑

自动适应输入内容高度的TextBox控件
摘要:  关于Web开发上面UI布局的问题,我上次介绍了一个可以“自动适应输入内容宽度的TextBox控件”,它可以解决在布局时预留控件大小和用户数入内容多少上的矛盾。但是由于那个控件被限制了只能做为单行输入使用:(,在输入大块文本时就力不从心了。。。 阅读全文

posted @ 2004-12-29 00:49 birdshome 阅读(6278) 评论(15) 推荐(0) 编辑

自动适应输入内容宽度的TextBox控件
摘要:  在ASP.NET的上面,TextBox是表单设计时最常用的控件之一。很多时候为了页面的紧凑和美观,我们需要适当的限制TextBox的显示宽度,但是如果TextBox过于窄了之后,又会给用户的填写带了不便,而且更麻烦的是很多时候我们并不知道用户到底会往那个TextBox里填多少内容。 阅读全文

posted @ 2004-12-24 00:17 birdshome 阅读(12907) 评论(11) 推荐(0) 编辑

使用ASP.NET 2.0提供的WebResource管理资源
摘要:ASP.NET(1.0/1.1)给我们提供了一个开发WebControl的编程模型,于是我们摆脱了asp里面的include模式的复用方式。不过1.0/1.1提供的Web控件开发模型对于处理没有image、css等外部资源的组件还算比较得心应手,script虽然很多时候也是外部资源,但在开发控件的时候我们习惯把script使用Page.Register...Script()来嵌入模块,因为... 阅读全文

posted @ 2004-12-19 23:46 birdshome 阅读(15048) 评论(6) 推荐(1) 编辑

"SmartNavigation"苗条版ClientNavigation增肥
摘要:  原来做的ClientNavigation没有注意只支持保存和恢复页面的scrollTop,今天发现有个应用还需要保存一下scrollLeft,于是就把ClientNavigation增了点肥,支持scrollLeft的save/load了。 阅读全文

posted @ 2004-12-13 18:53 birdshome 阅读(2304) 评论(3) 推荐(0) 编辑

解决WebControl的doPostBack参数传递问题
摘要:这些天做了一个WebControl,Control支持复杂的交互,有很多的参数通过调用 __doPostBack(id, eventArgument)来和控件交互。doPostBack的用法是,id: 服务器控件的ClientID,eventArgument: 传回服务器的参数。这个参数在服务器端通过IPostBackDataHandler.LoadPostData(string post... 阅读全文

posted @ 2004-12-11 01:09 birdshome 阅读(7640) 评论(7) 推荐(0) 编辑

"SmartNavigation"超级瘦身减肥苗条版ClientNavigation
摘要:  在我的上两片文章中我介绍了Page类的SmartNavigation属性的实现(.NET Framework 1.1/2.0中 SmartNavigation的实现),M$虽然实现的非常的巧妙,但是这样的“偷梁换柱”同时也带来了一些负面的影响。他们主要表现在这几个方面: 阅读全文

posted @ 2004-09-09 02:17 birdshome 阅读(3019) 评论(8) 推荐(0) 编辑

Colorful ListBox Control
摘要:摘要: Asp.net控件中给我们提供了一个ListBox,我们可以通过它在Html文档中产生一个Tag,用来选取预先设定的条目(ListItem)。ListBox除了继承来自WebControl之外的成员和属性外,他主要提供了对ListItem集合的包含,由此我们可以获得一个或一组Text、Value和Seleted值。问题: 这个系统提供的ListBox控件在操做和功能上能满足我们... 阅读全文

posted @ 2004-03-24 15:25 birdshome 阅读(6241) 评论(9) 推荐(1) 编辑

导航