服务器(自定义)控件与用户控件

服务器控件:

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)用户控件可类似服务器控件操作,并方便图形化操作,但可移植性差。

原文地址:https://www.cnblogs.com/wangfengderizi/p/2834090.html