我创建了一个标记界面:
public interface ISupportAJAXPostsBacks{}
我把它添加到我的页面..
public partial class MyWebForm : PageBase, ISupportAJAXPostsBacks
我在PageBase类中进行了此检查...
if(this is ISupportAJAXPostsBacks)
{
... do some stuff ...
}
如果我通过调试器单步执行,“这是ISUpportAJAXPostsBacks”对于初始页面加载的计算结果为true,但是当UpdatePanel在同一页面上回发时,计算结果为false。 (划伤头)
在幕后发生了什么导致这种情况以及我该怎么办呢?
答案 0 :(得分:1)
当您的页面首次加载时,“this”是整个页面,但是当您部分回发时,“this”只会成为回发的部分,这与整页不同,因此它不会实现你的界面。
答案 1 :(得分:0)
我无法复制你的情况,但有些想法要检查......
- if语句应该在PageBase
中覆盖OnLoad- if语句应该在base.OnLoad(e)之前调用覆盖方法
- 检查ScriptManager控件上的设置...特别是EnablePartialRendering和EnablePageMethods
我认为如果您实际使用这些方法,最后一项只会是一个问题,但如果您确实启用了这些方法,我会尝试禁用它们。希望有所帮助。