我有一个ASP.NET 1.1应用程序,我试图找出为什么当我更改一个ComboBox,该值用于填充另一个(父子关系)时,会产生两个回发.
我检查并检查了代码,但我找不到原因.
以下是以page_load结尾的调用堆栈
第一次回发(由ComboBox的autopostback生成)
Postback call stack http://www.juanformoso.com.ar/images/callstack1.jpg
第二次回发(这就是我想找到它为什么会发生的事情)
alt text http://www.juanformoso.com.ar/images/callstack2.jpg
有什么建议吗?我能检查什么?
解决方法
这个代码是一个非常具体的问题,我怀疑它对其他人有用,但在这里:
检查被添加到组合的onchange中,如果条件满足,则对if进行显式调用.
如果组合被设置为AutoPostback,asp.net再次添加回发调用,产生两个回发…
生成的html是这样的:
[select onchange="javascript: if (CustomFunction()){__doPostBack('name','')}; __doPostBack('name','')"]