加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 18:03:08 所属栏目:百科 来源:网络整理
导读:我动态地将UserControl加载到MultiView控件中的View中.虽然UserControl添加了一个事件处理程序,但事件永远不会触发. 我在这里错过了什么? 谢谢! 包含ASPX页面: protected override void OnPreRender(EventArgs e){ if (MultiView1.ActiveViewIndex == 2)
我动态地将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事件中加载控件.让我们知道会发生什么!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读