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事件中加载控件.让我们知道会发生什么!
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |