关于asp.net:RaisePostBackEvent不触发

关于asp.net:RaisePostBackEvent不触发

RaisePostBackEvent not firing

我有一个实现IPostBackEventHandler的自定义控件。 一些客户端事件调用__doPostBack(controlID,eventArgs)。

该控件在两个不同的用户控件中实现。 在一个控件中,调用__doPostBack时在服务器端激发RaisePostBackEvent。 在另一个控件中,从不调用RaisePostBackEvent。 我检查了__EVENTTARGET参数,它确实与控件的ClientID相匹配...在其他地方我可能要解决此问题?


这有很多方法可以分解。 您是否在后面的代码中将控件动态添加到页面? 如果这样,您的唯一ID可能会关闭-即使客户端ID相等。 您是否有一个代码示例可以证明您在做什么?


仔细检查它是否确实是UserControl类的派生,而不是WebControl类的派生。
这一次让我感到惊讶很多次。 如果需要使用WebControl进行样式设置,则需要让控件实现INamingContainer。 (不用担心,它是一个标记界面)

所以..

1
public class MyControl : UserControl {}

要么

1
public class MyControl : WebControl, INamingContainer {}

推荐阅读