gpt4 book ai didi

c# - 如何知道 UserControl 何时完成触发事件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:52:32 25 4
gpt4 key购买 nike

我们有一个 UserControl 来处理用户取消,它用在几个地方。这有几个输入字段和一个提交按钮。当他们提交时,用户的状态会更新并完成一些其他事情并显示反馈消息。

在包含该控件的页面之一上,在用户通过 UserControl 成功取消提交后,我们需要以某种方式通知该页面,以便它可以调用其中一种方法并更新其显示 [在本例中,用户的状态,之前是参加,现在已取消。

我们如何将它们联系起来?我猜测涉及委托(delegate)和事件处理程序的事情,但对他们没有太多经验,所以不知道我是否会走向死胡同......

一个非常 hacky 的解决方案是让 UserControl 引起重定向,然后让页面监视 session 或查询字符串参数等,但只是输入它让我不寒而栗,所以必须非常最后的手段。

如果需要更多信息,请询问,我会提供。

最佳答案

这应该很容易。将委托(delegate)事件添加到您的 UserControl,如下所示:

public event EventHandler UserCancelled;

然后,在取消方法末尾的用户控件中,只需调用委托(delegate):

if (this.UserCancelled!= null)
{
this.UserCancelled(this, new EventArgs());
}

然后,只需向用户控件的 aspx 标记上的事件添加一个处理程序:

OnUserCancelled="UserControl1_UserCancelled"

最后,向您的页面添加处理程序:

protected void UserControl1_UserCancelled(object sender, EventArgs e)
{
// Your code
}

关于c# - 如何知道 UserControl 何时完成触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681802/

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