UpdateProgress 控件

UpdateProgress 控件提供有关 UpdatePanel 控件中的局部页面更新的状态信息。您可以自定义 UpdateProgress 控件的默认内容和布局。为防止在局部页面更新非常快时出现闪烁,可以指定在 UpdateProgress 控件显示之前有一个延迟。

UpdateProgress 控件需要 web.config 文件中的特定设置才能正常工作。如果您试图使用此控件,但您的网站不包含所需的 web.config 文件,则在网页的“设计”视图中本应显示该控件之处会出现错误。在“设计”视图中,如果您单击处于该状态的控件,则 Microsoft Expression Web 会让您选择要新建一个 web.config 文件还是更新现有的 web.config 文件。

方案

利用 UpdateProgress 控件,在网页包含一个或多个用于局部页面呈现的 UpdatePanel 控件时,您可以设计一个更直观的 UI。如果局部页面更新速度较慢,您可以使用 UpdateProgress 控件来直观地反映更新状态。您可以在一个网页上放置多个 UpdateProgress 控件,每个控件都与不同的 UpdatePanel 控件关联。此外,也可以使用一个 UpdateProgress 控件,并将其与该网页上的所有 UpdatePanel 控件关联。

背景

UpdateProgress 控件将呈现一个 DIV 元素,该元素是显示还是隐藏取决于关联的 UpdatePanel 控件是否导致了异步回发。对于初始网页呈现和同步回发, UpdateProgress 控件不显示。

将 UpdateProgress 控件与 UpdatePanel 控件关联

通过设置 UpdateProgress 控件的 AssociatedUpdatePanelID 属性,可将 UpdateProgress 控件与 UpdatePanel 控件相关联。当某个 UpdatePanel 控件发生回发事件时,会显示任何关联的 UpdateProgress 控件。如果不将 UpdateProgress 控件与特定的 UpdatePanel 控件相关联,则 UpdateProgress 控件将显示任何异步回发的进度。

如果 UpdatePanel 控件的 ChildrenAsTriggers 属性设置为 false,并且该 UpdatePanel 控件内部发生了一个异步回发,则会显示任何关联的 UpdateProgress 控件。

创建 UpdateProgress 控件的内容

若要指定 UpdateProgress 控件显示的消息,请在“设计”视图中将所需的内容放置到面板中。例如,您可以将其他 ASP.NET 和 HTML 控件拖入面板,然后将光标置于面板内并在面板中直接键入内容。在“设计”视图中向 UpdateProgress 控件添加消息时,系统会自动在内容两边添加所需的 <ProgressTemplate> 标记。如果您是在“代码”视图而不是“设计”视图中向 UpdateProgress 控件添加内容,则必须手动添加 <ProgressTemplate></ProgressTemplate> 标记(如果它们尚不存在),否则不会呈现该消息。

指定内容布局

DynamicLayout 属性为 true 时, UpdateProgress 控件最初不会占据网页显示中的任何空间,而是在需要时网页动态地更改为显示 UpdateProgress 控件内容。为支持动态显示,该控件呈现为一个其显示样式属性最初设置为 none 的 DIV 元素。

DynamicLayout 属性为 false 时, UpdateProgress 控件会占用网页显示空间,即使该控件不可见也会占用。在这种情况下,该控件的 <div> 元素将其显示样式属性设置为块,将其可见性最初设置为隐藏。

将 UpdateProgress 控件置于网页上

您可以将 UpdateProgress 控件置于 UpdatePanel 控件内部或外部。只要其关联的 UpdatePanel 控件因异步回发而更新, UpdateProgress 控件就会显示。即使 UpdateProgress 控件在另一个 UpdatePanel 控件内部,情况也是如此。

如果 UpdatePanel 控件在另一个更新面板内部,则子面板内部发生的回发会导致与子面板关联的任何 UpdateProgress 控件都显示出来。它也会显示任何与父面板关联的 UpdateProgress 控件。如果回发发生在父面板的直接子控件中,则仅显示与该父面板关联的 UpdateProgress 控件。这种行为遵循了回发触发方式的逻辑。

有关 UpdateProgress 控件的详细信息,请参阅 MSDN Library 中的 UpdateProgress 控件概述 Cc295383.xtlink_newWindow(zh-cn,Expression.40).png

有关 UpdateProgress 控件的所有属性的说明,请参阅 MSDN Library 中的 UpdateProgress 属性 Cc295383.xtlink_newWindow(zh-cn,Expression.40).png

另请参阅

概念

ASP.NET AJAX 控件