对用户控件进行属性封装的使用情景分享(一)

用户控件为web开发带来了许多便捷,比如方便布局,使设计界面层次清晰,还有模块的重用性等等。

通常情况下我们使用用户控件是因为页面某一模块在多个页面出现。

比如页头、页尾等等。也有人为了页面简单而选择将页面拆分为多个用户控件实现布局。

这里想说的是比通常情况下略微特殊的使用状态。看下面的页面截图:

 

这里的截图来自CSDN博客首页、呵呵。2个新闻列表模块。

对比发现结构基本类似,我们做web项目过程中经常碰到类似状况。

很多模块的内容来源相同,只是因为筛选条件不同所以显示不同内容而已。

如果只是常规使用用户控件、固然也很方便。无非是COPY代码,然后修改局部细节。

但是也有更为简单的办法,比如我们可以对用户控件封装一个属性,从而满足不同条件的需要进行调用。

 

用户控件部分代码(这里只贴出后台部分):

 public partial class NewsList : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindNewsList(NewsTypeID);
            }
        }
        /// <summary>
        /// 新闻类型ID
        /// </summary>
        public int NewsTypeID { set; get; }
    }

 

那么在aspx页面调用的时候,我们可以通过指定NewsTypeID从而读取自己想要的内容。如下:

 

 <uc1:NewsList ID="NewsList1" runat="server" NewsTypeID="1" />
 <uc1:NewsList ID="NewsList2" runat="server" NewsTypeID="2" />

 

呵呵、仅此而已、很方便。

posted @ 2010-12-07 19:32  _麦麦  阅读(364)  评论(2编辑  收藏  举报