c# – UserControl的事件处理程序没有触发

前端之家收集整理的这篇文章主要介绍了c# – UserControl的事件处理程序没有触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我动态地将UserControl加载到MultiView控件中的View中.虽然UserControl添加了一个事件处理程序,但事件永远不会触发.

我在这里错过了什么?
谢谢!

包含ASPX页面

protected override void OnPreRender(EventArgs e)
{
    if (MultiView1.ActiveViewIndex == 2) //If the tab is selected,load control
    {
        Control Presenter = LoadControl("Presenter.ascx");
        (MultiView1.ActiveViewIndex.Views[2].Controls.Add(Presenter);
    }
    base.OnPreRender(e);
}

Presenter.ascx.cs

override protected void OnInit(EventArgs e)
{
    Retry.Click += this.Retry_Click; //This is a .Net 2.0 project
    base.OnInit(e);
}


protected void Retry_Click(object sender,EventArgs e)
{
    //This never fires
}

解决方法

我认为它没有触发,因为你正在页面的prerender事件中加载控件.在回发时,控件正在丢失,因为它没有视图状态.因此无法控制其事件.尝试在页面的init事件中加载控件.让我们知道会发生什么!
原文链接:https://www.f2er.com/csharp/97376.html

猜你在找的C#相关文章