ASP.NET UpdatePanel PostBacks

时间:2009-10-29 16:00:33

标签: c# asp.net ajax updatepanel

我创建了一个标记界面:

public interface ISupportAJAXPostsBacks{}

我把它添加到我的页面..

public partial class MyWebForm : PageBase, ISupportAJAXPostsBacks

我在PageBase类中进行了此检查...

if(this is ISupportAJAXPostsBacks)
{
   ... do some stuff ...
}

如果我通过调试器单步执行,“这是ISUpportAJAXPostsBacks”对于初始页面加载的计算结果为true,但是当UpdatePanel在同一页面上回发时,计算结果为false。 (划伤头)

在幕后发生了什么导致这种情况以及我该怎么办呢?

2 个答案:

答案 0 :(得分:1)

当您的页面首次加载时,“this”是整个​​页面,但是当您部分回发时,“this”只会成为回发的部分,这与整页不同,因此它不会实现你的界面。

答案 1 :(得分:0)

我无法复制你的情况,但有些想法要检查......

- if语句应该在PageBase

中覆盖OnLoad

- if语句应该在base.OnLoad(e)之前调用覆盖方法

- 检查ScriptManager控件上的设置...特别是EnablePartialRendering和EnablePageMethods

我认为如果您实际使用这些方法,最后一项只会是一个问题,但如果您确实启用了这些方法,我会尝试禁用它们。希望有所帮助。