下面用一個最簡單的 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
>
後臺代碼:
protected
void
btn1_OnClick(
object
sender, EventArgs e)
{
Anthem.Manager.AddScriptForClientSideEval(
"
alert('script for eval')
"
);
throw
new
Exception(
"
error message
"
);
}
其流程圖以下: