asp.net ajax技巧7
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net ajax技巧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;
以上是关于asp.net ajax技巧7的主要内容,如果未能解决你的问题,请参考以下文章
通过 AJAX POST 请求(IIS 7、ASP.NET MVC 4)向服务器传递大文件时出错
对 ASP.NET Web 服务的 jQuery ajax POST 调用随机失败