在回调中重建整个页面?

时间:2010-03-15 11:22:01

标签: asp.net ajax

在asp.net中,是否需要在每次回调期间重建整个页面?例如,我的网页分为三个不同的区域,每个区域都有一个更新面板。让我们说我想要更新第三个区域,我是否需要打扰其他两个区域的任何处理?

例如,假设第二区有一个网格视图。区域三中的更新面板回调以更新其内容。我是否必须在第二区重新绑定网格?

谢谢,

AJ

2 个答案:

答案 0 :(得分:1)

是的,这就是ASp.NET的完成方式。如果您使用updatePanel / AJAX部分更新,您可能只会构建页面的一部分。但是,你的观点可能是一个问题。

您看到的基本上是ASP.NET模型的缺点之一。

答案 1 :(得分:1)

默认情况下,UpdatePanels的“UpdateMode”设置为“Always”,这意味着只要页面上出现任何“发生”的情况,它们就会更新。

尝试为所有三个UpdatePanel设置“UpdateMode”为“Conditional”,看看是否有帮助。 (作为编写UpdatePanel定义的一部分,这是我的标准做法。如果您需要在页面的其他部分发生某些事情时更新UpdatePanel,您可以使用触发器或在代码后面使用.Update()更新它)

bgs264

修改

我想我最初误解了你的问题;我上面的建议可能会改善页面呈现时间,因为部分回发会导致在客户端和服务器之间来回发送更少的代码。

但是根据其他答案,所有控件都必须在每个页面加载/回发时经历它们的生命周期(Init,Load,Render)。