UpdatePanel.Update() 方法的事件处理程序
我的 Web 表单中有两个 UpdatePanel 。两者都是 UpdateMode="Conditional"
。 UpdatePanel1 中的异步触发器触发 UpdatePanel2.Update()
事件。
我想在 UpdatePanel2 中每当他的 update() 方法被触发时,做一些事情(比如根据某些标准动态加载一些用户控件)。
我怎样才能做到这一点?
编辑 : 这是我的需求的简化版本。 UpdatePanel2.Update() 方法可以从任何地方触发,例如 MasterPage 和 ... 。 做一些事情
不仅仅是加载用户控件
I have two UpdatePanel in my Web-form . Both UpdateMode="Conditional"
. An asynchronous trigger in UpdatePanel1 fire UpdatePanel2.Update()
event.
I would like in UpdatePanel2 whenever his update() method is fired , Do some stuff (like loading some user-control dynamically based on some criteria ).
How can I do that ?
Edit :
This is simplified version of my needs . UpdatePanel2.Update() method could fired from every where like MasterPage and ... . doing some stuff
is not just loading user-control
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
检查这个答案:如何知道哪个 UpdatePanel 导致 您也可以使用这种方法,
而无需实现从现有的带有反射继承的 UpdatePanel 控件:
请注意,当 RequiresUpdate 属性返回 false 时您设置了由 UpdatePanel 的子控件引起的 Conditional UpdateMode 和回发,该子控件未添加到 Triggers 集合中。
上面的 PS 代码需要 FullTrust 代码访问安全级别,因为它使用反射
Check this answer: How to know which UpdatePanel causes the partial PostBack?
Also you can use such approach without implementing own UpdatePanel control inherited from existing one with reflection:
Be warned that the RequiresUpdate proeprty returns false when you set Conditional UpdateMode and postback caused by UpdatePanel's child control which isn't added to Triggers collection.
P.S. code above requires FullTrust code access security level since it use reflection
好吧,你已经回答了你的问题。您将决定 updatepanel2 何时更新,因此您将指定动态添加控件的代码。至于事件,框架不提供为每个 updatepanel 更新启动的事件:)。
示例:
UpdatePanel2.Update();
由于您在此语句之前调用了 update,因此您将添加所有控件,如下所示
Well you already answered your question. It is you who will decide when the updatepanel2 will update so it will be you specifying the code to add controls dynamically. As for the event, framework does not provide a event that launches for each updatepanel update :).
Example:
UpdatePanel2.Update();
since you called update before this statement you will add all your controls like below