我想从用户控件调用一个方法到aspx页面
我正在尝试,但无法在 aspx 页面中调用该方法
Code:
添加VisaUserControl.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
Edit
在下面的代码中,当页面加载时,我收到“空引用错误”
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 += ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)