UpdatePanel 控件简介

article/2025/11/7 0:23:24

UpdatePanel 控件简介

全部折叠全部展开      代码:全部 代码:多种 代码:Visual Basic 代码:C# 代码:Visual C++ 代码:F# 代码:JScript 
UpdatePanel 控件简介

在本教程中,您将使用两个 Microsoft Ajax 服务器控件(ScriptManager 控件和 UpdatePanel 控件)向网页中添加部分页更新支持。 这些控件可移除所有回发的整页刷新请求,这可改善用户体验。有关部分页更新的更多背景信息,请参见部分页呈现概述

若要在您自己的开发环境中实现这些过程,您需要:

  • Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 学习版。

  • 一个支持 AJAX 的 ASP.NET 网站。

使用 UpdatePanel 控件

  1. 创建新页并切换到“设计”视图。

  2. 在工具箱的“AJAX Extensions”选项卡中,双击 ScriptManager 控件,将其添加到页中。

    UpdatePanel 教程
  3. 双击 UpdatePanel 控件,将其添加到页中。

    UpdatePanel 教程
  4. 单击 UpdatePanel 控件内部,然后在工具箱的“标准”选项卡中双击 LabelButton 控件以将它们添加到 UpdatePanel 控件中。

    说明说明

    确保将 LabelButton 控件添加到 UpdatePanel 控件内。

  5. LabelText 属性设置为“已创建的面板”。

    UpdatePanel 教程
  6. 双击 Button 控件,以为该按钮的 Click 事件添加处理程序。

  7. 将下面的代码添加到 Click 处理程序中,这些代码可将面板中标签的值设置为当前时间。

    Visual Basic
    Copy Code
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)Label1.Text = "Refreshed at " & _DateTime.Now.ToString()
    End Sub
    
    C#
    Copy Code
    protected void Button1_Click(object sender, EventArgs e)
    {Label1.Text = "Refreshed at " +DateTime.Now.ToString();
    }
    
  8. 保存更改,然后按 Ctrl+F5 在浏览器中查看页面。

  9. 单击按钮。

    注意,面板中的文本会发生变化,以显示面板内容的上次刷新时间。此文本在按钮的 Click 事件处理程序中设置。

    示例的样式设置为可以更好地显示 UpdatePanel 表示的页面区域。

    Visual Basic
    Copy Code
    <%@ Page Language="VB" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)Label1.Text = "Refreshed at " & _DateTime.Now.ToString()End Sub
    </script><html  >
    <head runat="server"><title>Untitled Page</title><style type="text/css">#UpdatePanel1 { width:300px; height:100px;}</style>
    </head>
    <body><form id="form1" runat="server"><div><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><fieldset><legend>UpdatePanel</legend><asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></fieldset></ContentTemplate></asp:UpdatePanel></div></form>
    </body>
    </html>
    
    C#
    Copy Code
    <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">protected void Button1_Click(object sender, EventArgs e){Label1.Text = "Refreshed at " +DateTime.Now.ToString();}
    </script><html  >
    <head runat="server"><title>Untitled Page</title><style type="text/css">#UpdatePanel1 { width:300px; height:100px;}</style>
    </head>
    <body><form id="form1" runat="server"><div style="padding-top: 10px"><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><fieldset><legend>UpdatePanel</legend><asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br /><asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></fieldset></ContentTemplate></asp:UpdatePanel><br /></div></div></form>
    </body>
    </html>
    

    每次单击按钮时面板内容都会发生更改,但不会刷新整个页面。默认情况下,UpdatePanel 控件的 ChildrenAsTriggers 属性为 true如果将此属性设置为 true,则无论面板内的哪个控件导致回发,面板内的控件都会参与部分页更新。

将某些更新面板中没有的控件添加到页面中是理解 UpdatePanel 控件的优点的最佳途径。然后,您就可以观察这些控件的行为与更新面板内部的控件的行为有何不同。

演示使用 UpdatePanel 控件的优点

  1. 创建新页并切换到“设计”视图。

  2. 在工具箱的“AJAX Extensions”选项卡中,双击 ScriptManager 控件,将其添加到页中。

  3. 双击 UpdatePanel 控件,将其添加到页中。

    UpdatePanel 教程
  4. 单击 UpdatePanel 控件内部,然后在工具箱的“标准”选项卡中双击 Calendar 控件以将其添加到 UpdatePanel 控件中。

    说明说明

    确保将 Calendar 控件添加到 UpdatePanel 控件内部。

    UpdatePanel 教程
  5. 单击 UpdatePanel 控件的外部,然后将另一个 Calendar 控件添加到页面中。

    此控件将不是 UpdatePanel 控件的一部分。

    UpdatePanel 教程
  6. 保存更改,然后按 Ctrl+F5 在浏览器中查看页面。

  7. 在位于 UpdatePanel 控件内的日历中导航到上个月或下个月。

    所显示的月份将发生更改,但不会刷新整个页面。

  8. 在位于 UpdatePanel 控件外的日历中导航到上个月或下个月。

    这将刷新整个页面。

    示例的样式设置为可以更好地显示 UpdatePanel 表示的页面区域。

    Visual Basic
    Copy Code
    <%@ Page Language="VB" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html  >
    <head runat="server"><title>UpdatePanel Tutorial</title><style type="text/css">#UpdatePanel1 { width:300px;}</style>
    </head>
    <body><form id="form1" runat="server"><div><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><fieldset><legend>UpdatePanel</legend><asp:Calendar ID="Calendar1" runat="server"></asp:Calendar></fieldset></ContentTemplate></asp:UpdatePanel><br /><asp:Calendar ID="Calendar2" runat="server"></asp:Calendar>    </div></form>
    </body>
    </html>
    
    C#
    Copy Code
    <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server"></script><html  >
    <head runat="server"><title>UpdatePanel Tutorial</title><style type="text/css">#UpdatePanel1 { width:300px;}</style>
    </head>
    <body><form id="form1" runat="server"><div><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><fieldset><legend>UpdatePanel</legend><asp:Calendar ID="Calendar1" runat="server"></asp:Calendar></fieldset></ContentTemplate></asp:UpdatePanel><br /><asp:Calendar ID="Calendar2" runat="server"></asp:Calendar>    </div></form>
    </body>
    </html>
    

默认情况下,UpdatePanel 控件内的回发控件(如按钮)会导致部分页更新。如您所见,默认情况下,UpdatePanel 控件外的按钮或其他控件会导致刷新整个页面。

您还可以将更新面板外部的控件配置为仅刷新更新面板的触发器。

使用外部按钮刷新 UpdatePanel 控件

  1. 创建新页并切换到“设计”视图。

  2. 在工具箱的“AJAX Extensions”选项卡中,双击 ScriptManager 控件和 UpdatePanel 控件,以将每种控件中的一个添加到页面中。

    UpdatePanel 教程
  3. 单击 UpdatePanel 控件内部,然后在工具箱的“标准”选项卡中双击 Label 控件,以将其添加到 UpdatePanel 控件中。

  4. 将标签的 Text 属性设置为“已创建的面板”。

    UpdatePanel 教程
  5. 单击 UpdatePanel 控件的外部,然后添加一个 Button 控件。

    UpdatePanel 教程
  6. 双击 Button 控件,以为该按钮的 Click 事件添加处理程序。

  7. 将下面的代码添加到 Click 处理程序中,这些代码可将面板中标签的值设置为当前时间。

    Visual Basic
    Copy Code
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)Label1.Text = "Refreshed at " & _DateTime.Now.ToString()
    End Sub
    
    C#
    Copy Code
    protected void Button1_Click(object sender, EventArgs e)
    {Label1.Text = "Refreshed at " +DateTime.Now.ToString();
    }
    
  8. 切换到“设计”视图,并选择 UpdatePanel,然后查看“属性”窗口。

    UpdatePanel 教程
    说明说明

    如果未显示“属性”窗口,请按 F4。

  9. “触发器”字段中,双击省略号 (...) 按钮。

    此时将显示“UpdatePanelTrigger 集合编辑器”对话框。

    UpdatePanel 教程
  10. 单击“添加”以添加新的触发器。

  11. 在触发器属性的“ControlID”字段中,使用下拉列表选择“Button1”

    UpdatePanel 教程

    在本示例中,未指定触发器的“EventName”属性。因此,按钮的默认事件(Click 事件)将触发 UpdatePanel 控件的刷新。

  12. 在集合编辑器中,单击“确定”

  13. 保存更改,然后按 Ctrl+F5 在浏览器中查看页面。

  14. 单击按钮。

    面板中的文本将发生更改,以显示面板内容的刷新时间。

  15. 单击该按钮若干次。

    时间将发生更改,但整个页面不会刷新。

    单击 UpdatePanel 外部的按钮之所以会刷新面板的内容,是因为您将该按钮配置为了 UpdatePanel 控件的触发器。单击作为触发器的按钮将执行异步回发,并会导致刷新关联的更新面板。此行为类似于本教程中第一个示例的行为;在第一个示例中,按钮位于 UpdatePanel 内部。

    示例的样式经过设置,可以更好地显示 UpdatePanel 表示的页面区域。

    Visual Basic
    Copy Code
    <%@ Page Language="VB" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)Label1.Text = "Refreshed at " & _DateTime.Now.ToString()End Sub
    </script><html  >
    <head runat="server"><title>UpdatePanel Tutorial</title><style type="text/css">#UpdatePanel1 { width:300px;}</style>
    </head>
    <body><form id="form1" runat="server"><div><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><fieldset><legend>UpdatePanel</legend><asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br /></fieldset></ContentTemplate><Triggers><asp:AsyncPostBackTrigger ControlID="Button1" /></Triggers></asp:UpdatePanel><asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div></form>
    </body>
    </html>
    
    C#
    Copy Code
    <%@ Page Language="C#" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><script runat="server">protected void Button1_Click(object sender, EventArgs e){Label1.Text = "Refreshed at " +DateTime.Now.ToString();}
    </script><html  >
    <head runat="server"><title>UpdatePanel Tutorial</title><style type="text/css">#UpdatePanel1 { width:300px;}</style>
    </head>
    <body><form id="form1" runat="server"><div><asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager><asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate><fieldset><legend>UpdatePanel</legend><asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br /></fieldset></ContentTemplate><Triggers><asp:AsyncPostBackTrigger ControlID="Button1" /></Triggers></asp:UpdatePanel><asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div></form>
    </body>
    </html>
    

本教程介绍了使用 UpdatePanel 控件来启用部分页更新的基本概念。您必须始终添加一个 ScriptManager 控件,然后添加一个 UpdatePanel 控件。默认情况下,面板内部的控件在执行回发时将导致面板刷新。如果将面板外部的控件配置为触发器,则它们在执行时将导致刷新 UpdatePanel

下一步是学习如何向页面添加多个 UpdatePanel 控件。有关更多信息,请参见创建具有多个 UpdatePanel 控件的简单 ASP.NET 页

 

转载于:https://www.cnblogs.com/yongheng178/archive/2010/07/02/1769973.html


http://chatgpt.dhexx.cn/article/J9Sp2rM0.shtml

相关文章

ScriptManager updatepanel

在项目开发中&#xff0c;遇到了一个ajax更新问题&#xff0c;母版上有个通知区域&#xff08;通知区域为ajax定时更新&#xff08;updatepanel&#xff09;&#xff09;&#xff0c;上面有需要显示的几列信息&#xff0c;如最新文章数&#xff0c;批阅数&#xff0c;FTP受信状…

使用 UpdatePanel

1 概述 ASP.NET UpdatePanel 控件能让你创建丰富的、以客户为中心的 Web 应用程序。使用 UpdatePanel 控件&#xff0c;可以刷新选择的页面部分而不是使用回发来刷新整个页面&#xff0c;这就像是执行了一个局部页面更新一样。包含一个 ScriptManager 和一个或多个 UpdatePanel…

UpdatePanel控件

ASP.NET UpdatePanel控件可用于生成功能丰富、以客户端为中心的Web应用程序。通过使用UpdatePanel控件&#xff0c;可以在回发期间刷新网页的选定部分而不是刷新整个网页。这称为执行部分页更新。包含一个ScriptManager控件和一个或多个UpdatePanel控件的ASP.NET网页&#xff0…

ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)

UpdatePanel可以用来创建丰富的局部更新Web应用程序&#xff0c;它是ASP.NET 2.0 AJAX Extensions中很重要的一个控件&#xff0c;其强大之处在于不用编写任何客户端脚本&#xff0c;只要在一个页面上添加几个UpdatePanel控件和一个ScriptManager控件就可以自动实现局部更新。通…

UpdatePanel的用法及 UpdatePanel与JS冲突的解决方法

UpdatePanel的用法 ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果。其中的UpdatePanel就是设置页面中异 步局部更新区域&#xff0c;它必须依赖于ScriptManager存在&#xff0c;因为ScriptManger控件提供了客户端脚本生成与管理UpdatePanel的功 能。…

Java定时器 @Scheduled注解的使用

1.定时器Scheduled简介 Scheduled注解可以用于做定时任务&#xff0c;再方法上加上Scheduled注解&#xff0c;可以将这个方法定义为一个任务发放&#xff0c;可以搭配cron表达式进行任务的控制。 开启定时任务时在类上加注解 EnableScheduling 2.cron表达式的用法 1.按顺序…

java定时器的实现_java定时器实现总结

前言&#xff1a;Java定时器目前主要有3种实现方式&#xff1a;JDK组件&#xff0c;Spring Task&#xff0c;Quartz框架。 1. JDK组件 (1) java.util.TimerTask MyTimerTask.java&#xff1a; public class MyTimerTask extendsTimerTask { Overridepublic voidrun() { System.…

简单实现Java定时器

✨✨hello&#xff0c;愿意点进来的小伙伴们&#xff0c;你们好呐&#xff01; &#x1f43b;&#x1f43b;系列专栏&#xff1a;【JavaEE】 &#x1f432;&#x1f432;本篇内容&#xff1a;自己实现Java定时器 &#x1f42f;&#x1f42f;作者简介:一名现大二的三非编程小白&…

java 定时器框架_java定时器

java定时器 什么是Java定时器&#xff1f; Java 定时器就是在给定的间隔时间执行自己的任务; Java实现定时器有以下几种: 通过Timer来实现定时任务 Timer 是来自 java.util.Timer 指定时间执行任务 /** * author spp * date 2020-10-14 09:04 **/ public class TimerTest { pub…

Java定时器Timer的使用

目录 一、Timer常用方法 1、在某个时间点执行一次任务 2、在某个时间点执行一次任务&#xff0c;接着每隔X秒执行一次任务 3、在N秒后执行一次任务 4、在N秒后执行一次任务&#xff0c;接着每隔X秒执行一次任务 二、Timer的多任务模式 一、Timer常用方法 Timer应用场景&a…

Java定时器选择

java计时器和死循环哪个好&#xff1f;哪个建议使用&#xff1f; 计时器性能更好&#xff0c;但是写起来稍微复杂一点。如果是非常短暂的延迟&#xff0c;用死循环也未尝不可。一般来说能不用死循环的尽量不用死循环&#xff01;如果你使用的是JDK1.5以上的&#xff0c;可以使…

9.java定时器

java定时器 java的定时器有四种实现方式 使用java的timer类&#xff0c;这种方式可以灵活的控制定时器的开启关闭使用线程和线程池的方法&#xff0c;这种方式对于关闭定时器是不优雅的&#xff0c;甚至可能出错使用spring注解来启动定时任务&#xff0c;使用起来简单&#xff…

Java当中的定时器

目录 一、什么是定时器 二、Java当中的定时器 ①schedule()方法&#xff1a; ②TimerTask ​编辑 ③delay 三、实现一个定时器 前提条件: 代码实现: ①确定一个“任务”&#xff08;MyTask)的描述&#xff1a; ②schedule方法&#xff1a; ③需要一个计时器 属性…

【Java定时器】: Java创建定时器的三种方式(详细讲解)

Java创建定时器的三种方式 第一种&#xff0c;常见的thread&#xff0c;创建一个Thread让他让循环里一直执行&#xff0c;通过 Thread.sleep 来达到 定时任务的效果。 栗子如下&#xff1a; public static void main(String[] args) {final long timeTnterval 1000;Runnable …

Java定时器

目录 一、认识定时器 1、什么是定时器 2、标准库的定时器 二、模拟实现定时器 1、描述定时器中的任务 2、管理多个任务 3、扫描线程 4、优化 5、最终代码 一、认识定时器 1、什么是定时器 定时器是实际开发中常用的一个重要组件&#xff0c;类似于我们生活中的“闹钟…

matlab画图函数之plot【matlab图行绘制一】

plot函数 plot(x,y,’–gs’,‘LineWidth’,2,‘MarkerSize’,10,‘MarkerEdgeColor’,‘b’,‘MarkerFaceColor’,[0.5,0.5,0.5]) plot函数是最基本、最常用的绘图函数&#xff0c;用于绘制线性二维图。有多条曲线时&#xff0c;循环使用由坐标轴颜色顺序属性定义的颜色&…

Matlab画图线型、符号及颜色设置

1. matlab 中线条的主要属性 Color: 颜色LineStyle: 线型LineWidth: 线宽Marker: 标记点的形状MarkerFaceColor: 标记点填充颜色MarkerEdgeColor: 标记点边缘颜色MarkerSize: 标记点大小 2. 各种属性的名称 2.1 线型 -Solid line (default) – Dashed line : Dotted line …

matlab 画图基本

内容安排如下&#xff1a; 1、基本绘制&#xff08;图画大小、图形名称、图画背景、坐标轴名称、刻度范围、曲线颜色、坐标轴字体颜色等&#xff09;2、多条曲线&#xff08;plot hold on&#xff1b;plotyy&#xff1b;subplot&#xff1b;&#xff09;3、日期及时间轴绘图4、…

MATLAB画图详细教程

本文将详细介绍如何用matlab绘图并美化。 关于figure() 创建图窗窗口:figure() figure()的属性: Name:在标题栏显示的名称,接字符串,如Test Position:在电脑屏幕上的位置和大小,后接向量[left,bottom,width,height]也就是说指定了图窗的左下角位置,再向右+width、…

MATLAB画图总结

前言 在进行数据处理展示的时候&#xff0c;为了能直观体现实验的结果&#xff0c;需要进行绘图&#xff0c;让人们能直观的记住数据的走向特征&#xff0c;图像是结果的一种可视化展现&#xff0c;因此掌握一些绘图方法非常重要&#xff0c;使用MATLAB可以很简单的进行画图。下…