Asp.net的服务端控件使得工作变得更为简单,功能更为强大。Asp.net的服务端提供了很多的控件,但是如果服务端没有所需要的控件的时候怎么办呢?他不会给你变出一个莫须有的控件。实际上,你可以自己动手制作自己的控件来取代.net提供的控件。这种控件就是用户控件。那么如何编写一个简单的用户控件呢?我们在上网的时候看到,搜索和查询功能是必不可少的。所以就想到将搜索功能设计成为一个用户控件,便可以在多个网页中重复使用,从而省去许多重复性的工作,下面我们就制作如何利用用户控件实现站内查询和搜索功能。
(1)首先,新建一个网站,命名为UserControl,默认主页为Default.aspx,
(2)创建一个web用户控件menu.ascx,用来实现搜索功能,创建过程以及用户控件的布局如下图所示:
布局如下图所示:
(3)创建一个新页search.aspx,用来使用刚刚创建的用户控件,直接将创建好的用户控件menu.ascx拖入新建立的页面即可。
这样,一个简单的用户控件就创建完成了。
我们看到创建一个用户控件的过程与创建一个完整的web网页基本上一样,但是也有一些不同之处:
Web网页是以.aspx扩展名来保存文件的,而用户控件则是以.ascx扩展名来保存的,一次区别文件是web网页还是用户控件;
用户控件中,不存在类似<HTML><BODY>以及<FORM>这样的属性,用户控件实际上也只是一个控件,只不过该控件是由许多个web服务器控件以及静态文本集合而成的。
使用用户控件有什么好处呢?
对于一些常用的、比较复杂的功能,可以讲它们设计成为用户控件,然后便可以在多个网页中重复使用该用户控件。
如果要改变网页内容,只需要修改用户控件中的内容,其他添加使用该用户控件的网页会自动随之改变,因此网页的设计以及维护都变得简单易行。
由用户控件想到的……
用户控件给编程人员带来的好处不言而喻,但是细细想想这种思想不就是我们平时说的打包思想吗?实际上就是将细小的功能集合在一起形成一个大的功能,使我们在使用这个大功能的时候不再重新创建。
这种打包思想生活中我们无处不在用,最简单的就是快递公司的例子了。从这里也可以联想到分类汇总的概念。
这不禁让我想到我们的编程语言从面向过程到面向对象的演变,正是因为我们觉得每次都要创建同一个方法所以才想到了把这些方法归为一个类里面(可能这种解释有点儿牵强)。
昨天出去剪头发的时候一个理发师说了这样一句话“懒人推动世界发展”。的确不错,编程人员做的不就是让用户做起事情来智能化吗?呵呵,“智能化”也就是“懒”的洋气解释罢了。