我有一个实现IPostBackEventHandler的自定义控件。一些客户端事件调用__doPostBack(controlID,eventArgs)。
控件在两个不同的用户控件中实现。在一个控件中,当调用__doPostBack
时,在服务器端触发RaisePostBackEvent。在另一个控件中,永远不会调用RaisePostBackEvent。我检查了__EVENTTARGET
参数,它确实与控件的ClientID匹配...我还可以在哪里解决此问题?
答案 0 :(得分:1)
这有很多方法可以分崩离析。您是否在代码后面动态地将控件添加到页面?如果有很多次你的UniqueID可以关闭 - 即使客户端ID是相同的。你有一个可能证明你在做什么的代码示例吗?
答案 1 :(得分:0)
仔细检查它确实是UserControl类的派生,而不是WebControl类的派生 这个让我多次惊讶。如果需要使用WebControl进行样式设置,则需要让控件实现INamingContainer。 (别担心,它是一个标记界面)
所以..
public class MyControl : UserControl {}
或者
public class MyControl : WebControl, INamingContainer {}