上一个月做"武汉热线·汽车频道"的一个项目。全部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 }
举一个显示新闻的用户控件:
public class NewsList : BaseControls
{
私有变量
private void Page_Load(object sender, System.EventArgs e)
{
this.BindList();
}
}
{
私有变量
private void Page_Load(object sender, System.EventArgs e)
{
this.BindList();
}
}
这个控件继承了基类的同用参数,还有自己的私有参数m_AutoID,AutoID
那么在静态页面上如何向用户控件传入参数呢?
举一个例子:
<uc1:NewsList id="NewsList1" runat="server" LinkUrl="Show.aspx" TitleLength="11" strClass="0106" HeaderImgUrl="../images/title19.gif" MoreUrl="Class.aspx?Class_ID=0106"></uc1:NewsList>
其中LinkUrl,TitleLength,strClass,HeaderImgUrl,MoreUrl都是向用户控件传的参数。这样一个新闻类别的参数就可以在页面重用几十次,只改变传入的参数,就可以能显示不同的新闻分类,控制显示的行数,链接的页面,More按钮的链接的页面等等。
这两个栏目是一个用户控件,只是传入不同的参数。