Code
<head runat=server>
<title>母版</title>
</head>
<body>
<form id=form runat=server>
<! ScripManager控件放在最前面>
<asp:ScriptManager ID=ScriptManager runat=server>
</asp:ScriptManager>
<table class=pageCenterFull>
<tr>
<! 二级导航区域 >
<td id=tbMain runat=server class=tbMain align=center>
<! 将ContentPlaceHolder放在UpdatePanel控件的ContentTemplate中 >
<asp:UpdatePanel ID=UpdatePanel runat=server><ContentTemplate>
<! 页面实质内容区域即除导航指示外的区域 >
<asp:ContentPlaceHolder ID=ContentPlaceHolder runat=server>
</asp:ContentPlaceHolder>
</ContentTemplate></asp:UpdatePanel> </td>
</tr>
</table>
<!这里放 UpdateProgress 控件其中的内容在异步调用开始时现实在页面中 DisplayAfter设置为一旦触发异步调用马上显示 >
<asp:UpdateProgress ID=UpdateProgress runat=server DisplayAfter=>
<ProgressTemplate>
<div id=loadingmask class=LoadingMask>
</div>
<div id=loading class=LoadingLoading>
<div class=loadingindicator>
</div>
<div>
Loading</div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
</form>
这样写效率暂且不论首先有一个好处所有用到这个母板页的页面都自动的具有了ajax的特性
在Contentpage页面中添加ScriptManagerProxy 和UpdatePanel 控件细化页面中异步调用的粒度
Code
<%@ Page Language=C# MasterPageFile=~/PageTemplates/PageTemplatemaster AutoEventWireup=true Inherits=BasePage Title=单位管理 %>
<asp:Content ID=Content ContentPlaceHolderID=ContentPlaceHolder Runat=Server>
<!在Content页前部添加ScriptManagerProxy管理用到的代码>
<asp:ScriptManagerProxy ID=ScriptManagerProxy runat=server>
</asp:ScriptManagerProxy>
<!页面内部添加一个或多个UpdatePanel控件做更细粒度的异步刷新调用>
<asp:UpdatePanel ID=UpdatePanel runat=server><ContentTemplate>
具体应用
<ContentTemplate></asp:UpdatePanel></asp:Content>