可填可选的DropDownList Server Control (转自随风.NET点滴)

前言:
学程序都是常学常忘,所以把思路和心得都记录下来,那怕是很简单的东西,所以就有了这篇文章

需求:

因项目需要一个可填可写的DropDownList ;

原理:
任何ASP.NET Server Control呈现在Client的都是HTML代码,所以我从HTML角度分析,可填可写的DropDownList是由一个INPUT控件和SELECT控件经过剪切叠加组合而成;

分析:
先运行下面一段HTML代码,这段HTML演示了一个可填可写的HTML SELECT控件:

1<html>
2 <body>
3  <input id="txtTest" type="test" style="width:200px;POSITION: absolute">
4  <select id="ddlTest" onchange="document.getElementById('txtTest').value=this.options[this.selectedIndex].text" style="width:217px;CLIP: rect(auto auto auto 200px); POSITION: absolute">
5   <option>tt</option>
6   <option>dd</option>
7 </select>

8 </body>
9</html>
10

这段代码的关键是CSS2的rect ( number number number number )元素,理解了这个元素整个控件就OK啦,CSS2 handbook的解释:

rect ( number number number number ) :

依据上-右-下-左的顺序提供自对象左上角为(0,0)坐标计算的四个偏移数值,其中任一数值都可用 auto 替换,即此边不剪切;必须将 position 属性的值设为 absolute ,此属性方可使用。
当我看到这段文字的时候,我还是不能感性地认识这段文字的含义,如果你有和我一样的感觉,不妨按下面的方式测试一下:
做两个select控件,一个有rect css标记,一个没有,对有rect(number number number number )标记的,对其中的一个number设置某个值,其余为auto,然后比对一下就很直观了
也很容易知道,要做这个控件,只需对rect(number number number number )最后一个number设置一个值,其余都为auto,那么这个number的设置有什么规则呢 ?先看下图:
dropdownlist.bmp
我测试发现有向下的箭头部分的长度大约17px,所以就有这样一个规律:
select控件的长度=input textbox控件的长度+17px
也就是说,如果我希望在页面上呈现一个217px的可填可写的select控件,就可以设置如下:
input textbox : 200px
select控件    : 217px
rect设置      :rect(auto auto auto 200px )

封装:
把上面的HTML封装成一个server control,这样使用方便,而且可以复用,我把控件代码和调用测试代码都打包,有兴趣的可以下载看看,当然了,封装的不是很好,但既然知其所以然了,知其然还不容易,本来这个东西也不复杂
down:http://www.cnblogs.com/Files/kwklover/StudyCaseProject.rar

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: ASP.NET下拉列表是一种常见的Web表单控件,它允许用户从预定义的项列表中择一个值。它可以用于许多不同的场景,例如择国家、城市、日期、时间等。ASP.NET下拉列表可以通过绑定数据源来动态生成项列表,也可以手动添加项。在用户择一个项后,可以使用服务器端代码来处理项的值。 ### 回答2: ASP.NET DropDownList是一种强大的Web控件,它可以简化Web应用程序中下拉列表或下拉框的构建和管理。DropDownList控件允许您从列表中择一个或多个值,并将所的值用作应用程序中的参数。 要使用DropDownList控件,您需要在ASP.NET Web表单中添加一个DropDownList控件。在设计时,您可以择添加项和设置控件的属性。一旦控件已经添加到页面上,您可以通过代码来对控件进行操作,例如添加或删除项、检索所的值等等。 DropDownList控件提供了许多有用的属性和方法,它们可以帮助您管理和控制下拉列表的行为。例如,控件可以设置为多,可以允许用户自己输入项,还可以设置自动回发或手动回发。 除了强大的功能和灵活性,DropDownList控件还具有良好的性能和可扩展性。通过使用数据绑定技术,您可以使用多种数据源充下拉列表,例如数据表、XML文件、Web服务等。此外,控件还可以与JavaScript脚本一起使用,以实现更高级的互动和动态效果。 总之,ASP.NET DropDownList是一种非常好用的Web控件,它可以帮助您快速构建和管理下拉列表,提供丰富的功能和灵活性,并具有良好的性能和可扩展性。如果您是一位ASP.NET开发人员,建议您深入了解DropDownList控件的用法和技术细节,以便更好地支持您的应用程序。 ### 回答3: asp.net dropdownlist是一个web控件(Web Control),用于创建下拉列表(Drop-Down List)。在网页设计中,下拉列表通常用于提供一组可项,让用户从中择一个或多个。asp.net dropdownlist是一个非常常用的控件,也是web页面交互性最强的控件之一。 在asp.net dropdownlist中,我们可以通过代码或者视觉对象直接设置下拉列表中的项,也可以动态地绑定数据来设置下拉列表中的项。在控件的设计中,asp.net dropdownlist也支持多种常见的属性设置,比如设置项的可见性、设置默认项、设置下拉列表的容器等,这些属性设置可以让我们更加方便地管理下拉列表控件。 在使用asp.net dropdownlist时,我们可以通过调用事件来实现下拉列表的交互功能。比如,我们可以通过监听控件对象的SelectedIndexChanged事件,来实现在用户改变下拉列表项时触发相应的事件操作。此外,通过设置控件对象的Enabled属性,我们可以在需要时禁用控件对象,从而防止用户对下拉列表进行操作。 总体来说,asp.net dropdownlist是一个非常实用的控件,可以帮助我们在web页面中创建交互性更强、更具体现力的下拉列表控件。如果掌握了它的使用方法,将可以为我们提升页面的交互性和使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值