做了一个共用的排序控件,但是有一个要求,必须在不同的页面,会自动根据不同的条件进行排序,那么把这个控件拖入不同的页面进行展示的时候,应该先把初始条件给控件进行载入相应的数据。
想过好几种方案,比如通过request传递和session传递等,发现都不是很完美。
后来考虑,ascx不是用户控件吗,那么在拖入aspx页面进行展示的时候,应该会生成该控件的实例,那么有没有可能直接访问该实例的公共属性或者方法呢,按照这个思路,给该控件加了一个公开属性:
private string _groupName;
public string groupName
{
get
{
return _groupName;
}
set
{
this._groupName = value;
}
}
在aspx页面里面进行调用的时候,给groupName赋值:
<uc1:TopArticleList id="TopArticleList1" groupName="员工风采" runat="server"></uc1:TopArticleList>
测试,哈哈,通过!
和使用user control的cs控件类相比,我还是比较喜欢web user control的ascx控件,这个定制比较方便,而且发现这个做初始化传递参数的方法后,我想应该更方便的用这种控件了,嘿嘿。
不知道是不是大家都知道这个方法,但是这是我推理而且发现的方法,特意分享,不怕丢脸啦。