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

豆豆网   技术应用频道   2007年11月21日    社区交流

本文详细介绍ASP.NET AJAX入门系列(4):使用UpdatePanel控件(一)

  五.Triggers属性

  在ASP.NET AJAX中有两种Triggers:分别为AsyncPostBackTrigger和PostBackTrigger,AsyncPostBackTrigge用来指定某个服务器端控件以及其将触发的服务器端事件作为该UpdatePanel的异步更新触发器,它需要设置的属性有控件ID和服务端控件的事件;PostBackTrigger用来指定在UpdatePanel中的某个服务端控件,它所引发的回送不使用异步回送,而仍然是传统的整页回送。这一点跟Atlas有很大的区别,大家需要注意。看一个小例子,虽然两个Button都放在了UpdatePanel中,但是由于在PostBackTrigger中指定了Button2,所以它使用的仍然是整页回送。

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
  <script runat="server">
  void Button1_Click(object sender, EventArgs e)
  {
    this.Label1.Text = "更新时间:" + System.DateTime.Now.ToString();
  }
  void Button2_Click(object sender, EventArgs e)
  {
    this.Label1.Text = "更新时间:" + System.DateTime.Now.ToString();
  }
  </script>
  <html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
  <title>UpdatePanel Trigger Sample</title>
  </head>
  <body>
  <form id="form1" runat="server">
  <div>
  <asp:ScriptManager ID="ScriptManager1" runat="server">
  </asp:ScriptManager>
  </div>
  <asp:UpdatePanel ID="UpdatePanel1" runat="server">
  <ContentTemplate>
  <div>
  <asp:Button ID="Button1" runat="server" Text="异步回送" OnClick="Button1_Click"/>&nbsp;&nbsp;
  <asp:Button ID="Button2" runat="server" Text="整页回送" OnClick="Button2_Click"/><br />
  <br />
  <asp:Label ID="Label1" runat="server" Text="当前时间" Font-Bold="True" Font-Size="Large"></asp:Label></div>
  </ContentTemplate>
  <Triggers>
  <asp:AsyncPostBackTrigger ControlID="Button1"/>
  <asp:PostBackTrigger ControlID="Button2" />
  </Triggers>
  </asp:UpdatePanel>
  </form>
  </body>
  </html>

  (未完待续)

  示例代码下载

来源:TerryLee    责编:豆豆技术应用

正在加载评论...