gpt4 book ai didi

c# - 带有按钮 onClick 事件的 UserControl 的事件处理程序

转载 作者:行者123 更新时间:2023-12-02 17:55:58 25 4
gpt4 key购买 nike

我创建了一个用户控件,其中包含一个按钮和一些其他控件。

在 html 标记中声明我的用户控件时,我想做一些事情:

<asp:CustomControl onclick="CustomControl_Click" ID="cc1" runat="server"> 

其中 CustomControl_Click 显然是单击控件按钮时我想要调用的操作。

到目前为止,我可以控制:

public event EventHandler Click;

protected void Button1_Click(object sender, EventArgs e)
{
Click.Invoke(sender, e);
}

但是我如何转发父页面的事件处理程序以将其分配给我的控件中的单击事件处理程序?

非常感谢任何帮助!

PS:也许有一种方法可以使用反射从托管页面获取方法

最佳答案

我正在使用自定义按钮(实际上是嵌入了 LinkBut​​ton 的 html div)。这是它的代码:

    public delegate void ClickEventHandler(object sender, EventArgs e);
public event ClickEventHandler Click = delegate { };

public string Text
{
get { return cmdLink.Text; }
set { cmdLink.Text = value; }
}

public bool CausesValidation
{
get { return cmdLink.CausesValidation; }
set { cmdLink.CausesValidation = value; }
}

public string OnClientClick
{
get { return cmdLink.OnClientClick; }
set { cmdLink.OnClientClick = value; }
}

public string CssClass
{
get { return cmdLink.CssClass; }
set { cmdLink.CssClass = value; }
}

protected void cmdLink_Click(object sender, EventArgs e)
{
Click(this, e);
}

这是在aspx页面中的用法:

<Button_Control:ButtonControl ID="btnSave" runat="server" Text="Save" 
OnClick="btnSaveClick" />

这是在 aspx 页面的代码隐藏页面中:

    protected void btnSaveClick(object sender, EventArgs e)
{
//do stuff here
}

关于c# - 带有按钮 onClick 事件的 UserControl 的事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/973942/

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