我对asp.net应用程序中发生的事情感到有些困惑。
页面上有一个控件,它每5秒执行一次ajax请求(使用UpdatePanel和Trigger)来循环显示一些图像。
我创建了一个从Twitter获取信息的WebControl,尽管不是UpdatePanel的一部分,但似乎每次调用AJAX时都会调用RenderContents。
这是正常的行为,还是我错过了什么?它有办法吗?
答案 0 :(得分:1)
如果没有任何代码,很难提供明确的答案:
请注意,即使是更新面板调用,也会执行整页生命周期。 ASP.Net基本上为整个页面生成标记,但只返回更新面板的部分。无论页面及其任何控件的加载,预渲染等事件是什么,都将执行每个面板更新。
您可以通过检查ScriptManager.IsInAsyncPostBack
的值来检查您是否正在执行正常的页面加载或AJAX /更新面板加载。您可以将不希望在“非IsInAsyncPostBack”块中执行的代码包装起来。我个人会避免使用更新面板并使用纯AJAX调用来更新图像。