服务器控件:
1:引用服务器控件:需要全局config中注册声明,或在用到该控件的页面加入
<%@ Register Assembly="ServerControl" Namespace="ServerControl" TagPrefix="cc1" %>
或在config配置文件中添加
<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
<controls>
<add tagPrefix="webdiyer" namespace="Wuqi.Webdiyer" assembly="AspNetPager"/>
</controls>
</pages>
vs可以手动添加服务器控件dll,方便拖拽使用:右键工具栏-选择IItem-选择服务器控件dll文件,添加即可
2:服务器控件订阅事件:
在自定义服务器控件中添加事件委托如下:
private EventHandler _OnPagingDataBinding = null;
/// <summary>
/// 加载绑定数据
/// </summary>
[EditorBrowsable(EditorBrowsableState.Always)]
[Browsable(true)]
public event EventHandler OnPagingDataBinding
{
add { _OnPagingDataBinding += new EventHandler(value); }
remove { _OnPagingDataBinding -= new EventHandler(value); }
}
并在指定的包含的控件单击事件中触发并附加该事件如下(如button单击事件内部引用该事件即可)
protected void Paging_Click(object sender, EventArgs e)
{
if (_OnPagingDataBinding != null) _OnPagingDataBinding(this, e);
}
在引用服务器控件的后台添加该事件方法如下:
PagerUserControlNoLogin.OnPagingDataBinding += new EventHandler(PagerUserControlNoLogin_OnPagingDataBinding);
然后触发button单击事件会自动触发OnPagingDataBinding事件
(2)用户控件可类似服务器控件操作,并方便图形化操作,但可移植性差。