先来看一下普通的页面,最后修改这个网页,加上UpdatePanel控件,看一下网页的效果,就会对UpdatePanel有一个大概的认识.
界面代码如下
<head id="Head1" runat="server">
<title>全局部更新示范</title>
</head>
<body>
<form id="form1" runat="server">
<!-- 一个Label控件,用来显示服务器的时间 -->
现在时间:<asp:Label ID="lblCurrentTime" runat="server"></asp:Label><br />
<asp:Button ID="btnShowCurrentTime" runat="server" Text="显示当前时间" /><br />
<!-- 又一个Label控件,用来显示服务器的时间 -->
现在时间:<asp:Label ID="lblStaticTime" runat="server"></asp:Label>
</form>
</body>
</html>
后台代码就一个事件Page_Load,用来更新时间
protected void Page_Load(object sender, EventArgs e)
{
this.lblCurrentTime.Text = DateTime.Now.ToString();
this.lblStaticTime.Text = DateTime.Now.ToString();
}
界面上的命令按纽什么事件也没有,但是点击会刷新页面,导致Page_Load事件再次执行.这就是没有加上UpdatePanel以前,普通网页的效果.
可以看到的是网页闪了一下,并且浏览器的下方有进度条的读取.
现在改一下网页,变成如下这个样子.
<head id="Head1" runat="server">
<title>异步局部更新示范</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<!-- 一个Label控件,用来显示服务器的时间 -->
现在时间:<asp:Label ID="lblCurrentTime" runat="server"></asp:Label><br />
<asp:Button ID="btnShowCurrentTime" runat="server" Text="显示当前时间" /><br />
</ContentTemplate>
</asp:UpdatePanel>
<!-- 又一个Label控件,用来显示服务器的时间 -->
现在时间:<asp:Label ID="lblStaticTime" runat="server"></asp:Label>
</form>
</body>
</html>
唯一的改变是,红色字部分现在被放在UpdatePanel里,此时点击按纽,只有lblCurrentTime的时间改变了.lblStaticTime没有变.
简单点就是:相当于再载入一次Page_Load,但只会更新UpdatePanel1的内容
本文通过示例展示了如何使用ASP.NET AJAX中的UpdatePanel控件实现局部刷新功能,对比了传统页面刷新与局部刷新的区别,有助于提高用户体验。

1418

被折叠的 条评论
为什么被折叠?



