InitializeComponent
//用户控件
public partial class TreeArea : System.Web.UI.UserControl
{
//定义委托
public delegate void OnNodeCommand_Expand(object sender, FineUI.TreeCommandEventArgs e);
//定义事件
public event OnNodeCommand_Expand onNodeCommand;
//定义事件函数
protected void TreeAreaRight_OnNodeExpand(object sender, FineUI.TreeExpandEventArgs e)
{
LoadChild(e.NodeID, e.Node);
如果事件有在调用此控件的页面被定义则调用定义的事件
if (onNodeExpand != null)
{
onNodeExpand( sender, e);
}
}
}
//调用用户控件的页面
查看网上的方法说在InitializeComponent 将自定义的事件函数赋值给用户控件定义的事件就可以 其实我用了不行 所以后来我就把InitializeComponent()这个方法删除掉 直接在前台(aspx页面) 直接用红色部分去调用
<uc2:TreeArea ID="TreeAreaRight" runat="server" OnonNodeCommand="TreeAreaRight_OnNodeCommand" OnonNodeExpand="TreeAreaRight_OnNodeExpand"/>
public partial class PJ_Manage : PageBase
{
CTArea_BLL areaBLL = new CTArea_BLL();
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
//通过事件的代理,来订阅用户控件的事件
this.TreeAreaRight.onNodeCommand += new TreeArea.OnNodeCommand_Expand(TreeAreaRight_OnNodeCommand);
this.TreeAreaRight.onNodeExpand += new TreeArea.OnNodeExpand_Expand(TreeAreaRight_OnNodeExpand);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
protected void TreeAreaRight_OnNodeExpand(object sender,FineUI.TreeExpandEventArgs e)
{
Alert.Show(e.NodeID + "OnNodeExpand");
//LoadChild(e.NodeID, e.Node);
Response.Write(e.NodeID);
}
protected void TreeAreaRight_OnNodeCommand(object sender,FineUI.TreeCommandEventArgs e)
{
Alert.Show(e.NodeID + "TreeAreaRight_OnNodeCommand");
//LoadChild(e.NodeID, e.Node);
}
}
}