下面用一个最简单的 anthem:Button 回调作为例子,理清回调过程中执行函数的次序。
代码如下:
后台代码:
其流程图如下:
代码如下:
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Test.aspx.cs
"
Inherits
=
"
Test
"
%>
<% @ Register TagPrefix = " anthem " Assembly = " Anthem " Namespace = " Anthem " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > Untitled Page </ title >
< script type ="text/javascript" language ="javascript" >
function Anthem_PreCallBack(){
alert('Anthem_PreCallBack');
if ( ! confirm('callback ? '))
return false ;
}
function btn1_PreCallback(){
alert('btn1_PreCallback');
if ( ! confirm('callback ? '))
return false ;
}
function btn1_CallbackCacelled(){
alert('btn1_CallbackCacelled');
}
function btn1_PostCallback(){
alert('btn1_PostCallback');
}
function Anthem_CallBackCancelled(){
alert('Anthem_CallBackCancelled');
}
function Anthem_Error(result){
alert(result.error);
}
function Anthem_PostCallBack(){
alert('Anthem_PostCallBack');
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< anthem:Button ID ="btn1" runat ="server" Text ="按钮1" OnClick ="btn1_OnClick"
PreCallBackFunction ="btn1_PreCallback"
CallBackCancelledFunction ="btn1_CallbackCacelled"
PostCallBackFunction ="btn1_PostCallback" />
</ div >
</ form >
</ body >
</ html >
<% @ Register TagPrefix = " anthem " Assembly = " Anthem " Namespace = " Anthem " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title > Untitled Page </ title >
< script type ="text/javascript" language ="javascript" >
function Anthem_PreCallBack(){
alert('Anthem_PreCallBack');
if ( ! confirm('callback ? '))
return false ;
}
function btn1_PreCallback(){
alert('btn1_PreCallback');
if ( ! confirm('callback ? '))
return false ;
}
function btn1_CallbackCacelled(){
alert('btn1_CallbackCacelled');
}
function btn1_PostCallback(){
alert('btn1_PostCallback');
}
function Anthem_CallBackCancelled(){
alert('Anthem_CallBackCancelled');
}
function Anthem_Error(result){
alert(result.error);
}
function Anthem_PostCallBack(){
alert('Anthem_PostCallBack');
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
< anthem:Button ID ="btn1" runat ="server" Text ="按钮1" OnClick ="btn1_OnClick"
PreCallBackFunction ="btn1_PreCallback"
CallBackCancelledFunction ="btn1_CallbackCacelled"
PostCallBackFunction ="btn1_PostCallback" />
</ div >
</ form >
</ body >
</ html >
后台代码:
protected
void
btn1_OnClick(
object
sender, EventArgs e)
{
Anthem.Manager.AddScriptForClientSideEval( " alert('script for eval') " );
throw new Exception( " error message " );
}
{
Anthem.Manager.AddScriptForClientSideEval( " alert('script for eval') " );
throw new Exception( " error message " );
}
其流程图如下: