本文共 2116 字,大约阅读时间需要 7 分钟。
继续读老章的书,这次是看到如何在一个master页面中放些按钮,然后点的时候,更新content页面中的东西,而且可以做到局部更新。先看主MASTER页面 master页面的前台 <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <asp:Panel ID="MasterPanel1" runat="server" GroupingText="主控页面"> <asp:Button ID="MasterButton1" runat="server" Text="整页更新" /> <asp:Button ID="MasterButton2" runat="server" Text="局部更新" OnClick="MasterButton2_Click" Width="128px" /> </asp:Panel> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> </div> master页面的后台protected void Page_Load(object sender, EventArgs e)
{ ScriptManager1.RegisterAsyncPostBackControl(MasterButton2); }public DateTime LastUpdate
{ get { if(ViewState["LastUpdate"] == null) { return DateTime.Now; } else { return Convert.ToDateTime(ViewState["LastUpdate"]); } } set { ViewState["LastUpdate"] = value; } }protected void MasterButton2_Click(object sender, EventArgs e)
{ LastUpdate = DateTime.Now; UpdatePanel up1 = (UpdatePanel)(ContentPlaceHolder1.FindControl("UpdatePanel1")); up1.Update(); } 注意这里因为希望主页面的“局部更新”按钮能引发异步更新内容页面中的UPDATEPANEL控件的内容,因此必须用 ScriptManager1.RegisterAsyncPostBackControl(MasterButton2); 注册该按钮引发的事件。 要注意masterbutton2_click事件的写法,调用内容页中的updatepanel控件的UPDATE方法来更新内容。 然后在内容页中前台中<%@ Page Language="C#" MasterPageFile="~/ThirdMasterPage.master" AutoEventWireup="true"
CodeFile="CH3_DemoForm040.aspx.cs" Inherits="CH3_DemoForm040" Title="如何于主控页面中使用 UpdatePanel 控件" %><%@ MasterType VirtualPath="ThirdMasterPage.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <asp:Panel ID="Panel2" GroupingText="内容页面" runat="server"> <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server"> <ContentTemplate> <p> 上一次更新:<strong><%= Master.LastUpdate.ToString() %></strong></p> <asp:Button ID="ContentButton" OnClick="ContentButton_Click" runat="server" Text="局部更新"> </asp:Button> </ContentTemplate> </asp:UpdatePanel> </asp:Panel> </asp:Content> 后台中,为其“局部更新”编写相关的事件,以将当前日期时间给主控页面的lastupdate属性 protected void ContentButton_Click(object sender, EventArgs e) { Master.LastUpdate = DateTime.Now; }转载地址:http://zssf.baihongyu.com/