上一个月做"武汉热线·汽车频道"的一个项目。全部UI页面都用用户控件来展示。
把逻辑层放在用户控件里。
这样做的好处:
1。方便美工调整页面,控件可以在页面自由放置。
2。控件的通用性强,可以用参数控制数据的存取范围,UI的显示。
3。控件里可以嵌套控件,能实现比较COOL的功能。
具体心得:
1。写一个用户控件的基类,把一些通用的参数写在里面,其他用户控件继承这个基类,可以少写了很多的参数哦:)
1
public class BaseControls : System.Web.UI.UserControl
2
{
3
4
私有和保护变量
22
23
公有属性
85
86
构造函数
95
96
97
}

2

3

4

22

23

85

86

95

96

97

举一个显示新闻的用户控件:

















这个控件继承了基类的同用参数,还有自己的私有参数m_AutoID,AutoID
那么在静态页面上如何向用户控件传入参数呢?
举一个例子:

其中LinkUrl,TitleLength,strClass,HeaderImgUrl,MoreUrl都是向用户控件传的参数。这样一个新闻类别的参数就可以在页面重用几十次,只改变传入的参数,就可以能显示不同的新闻分类,控制显示的行数,链接的页面,More按钮的链接的页面等等。
这两个栏目是一个用户控件,只是传入不同的参数。