gpt4 book ai didi

asp.net - 基于另一个 Web 用户控件更新 Web 用户控件

转载 作者:行者123 更新时间:2023-12-01 02:51:03 25 4
gpt4 key购买 nike

我有一个 Web 用户控件,里面有一个 Treeview 控件。我创建了另一个用户控件,其中包含一个 Gridview 和几个其他控件。

每当用户从我的 Treeview 中选择不同的 TreeNode 时,Gridview 都会自行更新。
经过一番搜索,可能是什么解决方案:

  • 从用户控件添加并引发一个事件,该事件在 Treeview 选定节点更改时触发。创建一个包含节点值的自定义事件参数,允许它直接传递给事件处理程序。

  • 如果是这样,你能告诉我一个实现这种方法的基本工作示例吗?
    谢谢。

    最佳答案

    您可以让后面的主页代码处理来自 Treeview 控件的自定义事件。然后在事件处理程序中调用 gridview 控件中的公共(public)方法。

    如果 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
    }

    关于asp.net - 基于另一个 Web 用户控件更新 Web 用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983440/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com