我有一个Web用户控件,里面有一个Treeview控件。我创建了另一个用户控件,其中包含一个Gridview以及其他一些控件。
每当用户从我的Treeview中选择不同的TreeNode时,Gridview都应该自动更新 经过一番搜索,可能是什么解决方案:如果是这样,你能告诉我一个实现这种方法的基本工作实例吗? 感谢。
答案 0 :(得分:3)
您可以让后面的主页代码处理来自Treeview控件的自定义事件。然后在事件处理程序中调用gridview控件中的公共方法。
如果control1是你的树控件而control2是你的网格控件:
主页面aspx(将control1事件处理程序设置为此页面中的方法):
<%@ Register Src="~/Controls/WebUserControl1.ascx" TagName="Control1" TagPrefix="ctrl" %>
<%@ Register Src="~/Controls/WebUserControl2.ascx" TagName="Control2" TagPrefix="ctrl" %>
<ctrl:Control1 ID="control1" runat="server" OnTreeNodeChanged="Control1_TreeNodeChanged" />
<ctrl:Control2 ID="control2" runat="server" />
主页代码背后:
public void Control1_TreeNodeChanged(object sender, EventArgs e)
{
control2.ReloadGrid();
}
树控制代码
public event EventHandler TreeNodeChanged;
protected void FromYourTreeNodeEvent(object o, EventArgs e)
{
//fire your custom event
if (TreeNodeChanged!= null)
{
TreeNodeChanged(this, EventArgs.Empty);
}
}
网格控制代码
public void ReloadGrid()
{
//do something
}