EventHandler不适合做动态控件我用的是动态链接按钮的事件处理函数,参考了Error。它说在Page_Init或Page_Load添加事件处理程序。我厌倦了代码。但是,当我单击动态添加的链接按钮时,不会触发事件处理程序。这里有什么需要更正的地方吗?注意:在做了一些业务验证后,在按钮的点击事件中添加了一个动态的LinkBut??ton控件(为简洁起见,没有提供业务代码)标记后面的代码protectedvoidPage_Load(objectsender,EventArgse){foreach(controlctrlinplhDynamicLinks.控件){LinkBut??tondynamicButton=(LinkBut??ton)ctrl;dynamicButton.Click+=newEventHandler(LinkBut??ton_Click);}if(Page.IsPostBack){}}protectedvoidPage_Init(objectsender,EventArgse){intx=0;foreach(plhDynamicLinks.Controls中的控件ctrl){LinkBut??tondynamicButton=(LinkBut??ton)ctrl;dynamicButton.Click+=newEventHandler(LinkBut??ton_Click);}}protectedvoidLinkBut??ton_Click(objectsender,EventArgse){LinkBut??tonclickedControl=(LinkBut??tonclickedControl=)sender;Response.Write(clickedControl.ID+"点击链接按钮");}protectedvoidbtnAdd_Click(objectsender,EventArgse){plhDynamicLinks.Controls.Clear();LinkBut??tonbutton1=newLinkBut??ton();button1.ID="D1";button1.Text="1";plhDynamicLinks.Controls.Add(button1);链接按钮n2=新链接按钮();button2.ID="D2";button2.Text="2";plhDynamicLinks.Controls.Add(button2);必须在每次回发时重新创建动态控件,这篇文章是关于如何保持动态的控件及其状态的良好链接必须在Page_Load/Page_Init本身中为动态控件注册所有必需的事件处理程序。可以在DynamicControl的WorkingwithEventHandlers中看到后面的工作示例标记代码lnk1.ID="D1";lnk1.Text="A";//事件处理器必须注册在Page_Load/Page_Initlnk1.Click+=newEventHandler(LinkBut??ton_Click);plhDynamicLinks.Controls.Add(lnk1);LinkBut??tonlnk2=newLinkBut??ton();lnk2.ID="D2";lnk2.Text="B";lnk2.Click+=newEventHandler(LinkBut??ton_Click);plhDynamicLinks.Controls.Add(lnk2);LinkBut??tonlnk3=newLinkBut??ton();lnk3.ID="D3";lnk3.Text="C";lnk3.Click+=newEventHandler(LinkBut??ton_Click);plhDynamicLinks.Controls.Add(lnk3);LinkBut??tonlnk4=newLinkBut??ton();lnk4.ID="D4";lnk4.Text="D";lnk4.Click+=newEventHandler(LinkBut??ton_Click);plhDynamicLinks.Controls.Add(lnk4);}}protectedvoidLinkBut??ton_Click(objectsender,EventArgse){PopulateLinksBasedOnCriteria();LinkBut??tonclickedControl=(LinkBut??ton)sender;Response.Write(DateTime.Now.ToString()+"___"+clickedControl.ID+"点击链接按钮");}protectedvoidbtnAdd_Click(objectsender,EventArgse){PopulateLinksBasedOnCriteria();}privatevoidPopulateLinksBasedOnCriteria(){plhDynamicLinks.Controls.Clear();if(DateTime.Now.Second给动态控件添加javascript的onClick属性,并设置动态网格的控件事件Onclick所需的隐藏字段值,会回发并获取隐藏字段值。在调用方法执行job在页面加载时,如果hiddenfield有值,执行job后将其设为null。以上是C#学习教程:EventHandler不适合动态控制所有共享内容,如果对大家有用又需要想了解更多C#学习教程,希望大家多多关注---本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如有转载请注明出处:
