gpt4 book ai didi

c# - 如何从用户控件调用一个方法到aspx页面?

转载 作者:行者123 更新时间:2023-11-30 17:03:04 24 4
gpt4 key购买 nike

我想从用户控件调用一个方法到aspx页面

我正在尝试,但我无法在 aspx 页面中调用该方法

代码:

AddVisaUserControl.ascx.cs

public event EventHandler UserControlButtonClicked;

public void OnUserControlButtonClick()
{
if (UserControlButtonClicked != null)
{
UserControlButtonClicked(this,EventArgs.Empty);
}
}

protected void btnRemove_Click(object sender, EventArgs e)
{
OnUserControlButtonClick();
}

.aspx

编辑

在下面的代码中,当页面加载时出现“空引用错误”

AddVisaControl av; 
protected void Page_Load(object sender, EventArgs e)
{
av.UserControlButtonClicked += new
EventHandler(AddVisaUserControl_UserControlButtonClicked);
}

private void AddVisaControl_UserControlButtonClicked(object sender, EventArgs e)
{
var ctrl = (AddVisaControl)LoadControl(@"AddVisaControl.ascx");
//ctrl.ID = i;
this.rpt1.Controls.Remove(ctrl);
}

有什么想法吗?提前致谢

最佳答案

您似乎有一个未初始化的字段:

AddVisaControl av; 

其默认值为 null,因此为 NullReferenceException。

如果您已将 UserControl 的实例添加到您的 aspx 页面,您应该有一个名称等于 UserControl 实例 ID 的实例:

=== 在 Page.aspx 中

<uc1:AddVisaUserControl ID="MyControl" ... />

=== 在 Page.aspx.cs 中

MyControl.UserControlButtonClicked += ...

关于c# - 如何从用户控件调用一个方法到aspx页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19027066/

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