RaisePostBackEvent没有触发

时间:2008-08-13 04:30:31

标签: asp.net postback

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

控件在两个不同的用户控件中实现。在一个控件中,当调用__doPostBack时,在服务器端触发RaisePostBackEvent。在另一个控件中,永远不会调用RaisePostBackEvent。我检查了__EVENTTARGET参数,它确实与控件的ClientID匹配...我还可以在哪里解决此问题?

2 个答案:

答案 0 :(得分:1)

这有很多方法可以分崩离析。您是否在代码后面动态地将控件添加到页面?如果有很多次你的UniqueID可以关闭 - 即使客户端ID是相同的。你有一个可能证明你在做什么的代码示例吗?

答案 1 :(得分:0)

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

所以..

public class MyControl : UserControl {}

或者

public class MyControl : WebControl, INamingContainer {}