RaisePostBackEvent不触发
时间:2020-03-05 18:39:19 来源:igfitidea点击:
我有一个实现IPostBackEventHandler的自定义控件。一些客户端事件调用__doPostBack(controlID,eventArgs)。
该控件在两个不同的用户控件中实现。在一个控件中,当调用__doPostBack时,在服务器端触发RaisePostBackEvent。在另一个控件中,从不调用RaisePostBackEvent。我检查了__EVENTTARGET参数,它确实与控件的ClientID相匹配...在其他地方我可能要解决此问题?
解决方案
回答
这有很多方法可以分解。我们是否在后面的代码中将控件动态添加到页面?如果这样,即使客户端ID相等,UniqueID也可以关闭。我们是否有一个代码示例可以证明我们在做什么?
回答
仔细检查它确实是UserControl类的派生,而不是WebControl类的派生。
这一次让我感到惊讶很多次。如果需要使用WebControl进行样式设置,则需要让控件实现INamingContainer。 (不用担心,它是一个标记界面)
所以..
public class MyControl : UserControl {}
或者
public class MyControl : WebControl, INamingContainer {}