今天遇到一个代码问题,RaiseErrorText与CancelOperation冲突:同事帮忙基本分析出了原因
现象:
1. 如果RaiseErrorText写在 CancelOperation之前,而且CancelOperation代码是在try 或者 catch中的,则RaiseErrorText可以正常弹出
2. 如果RaiseErrorText写在 CancelOperation之前,而且CancelOperation代码是在finally中的,则RaiseErrorText不能够正常弹出
3. 测试发现RaiseErrorText弹框操作是在finally之后进行的
RaiseErrorText 的描述
The RaiseErrorText method raises a scripting error message to the browser
When invoked, the RaiseErrorText method stops execution of the script.
Therefore, CancelOperation is not required after RaiseErrorText.
CAUTION: Be careful when using RaiseErrorText, because it cancels operations.
CancelOperation的描述:
CancelOperation does not stop the execution of the code following it,
but it does prevent the execution of any built-in code associated with this event.
Applet_PreInvokeMethod must return CancelOperation when you are handling the event entirely through scripting and do not want the built-in code to execute.
However, if there is code in the same script following CancelOperation, that code runs regardless of the CancelOperation.
现象:
1. 如果RaiseErrorText写在 CancelOperation之前,而且CancelOperation代码是在try 或者 catch中的,则RaiseErrorText可以正常弹出
2. 如果RaiseErrorText写在 CancelOperation之前,而且CancelOperation代码是在finally中的,则RaiseErrorText不能够正常弹出
3. 测试发现RaiseErrorText弹框操作是在finally之后进行的
RaiseErrorText 的描述
The RaiseErrorText method raises a scripting error message to the browser
When invoked, the RaiseErrorText method stops execution of the script.
Therefore, CancelOperation is not required after RaiseErrorText.
CAUTION: Be careful when using RaiseErrorText, because it cancels operations.
CancelOperation的描述:
CancelOperation does not stop the execution of the code following it,
but it does prevent the execution of any built-in code associated with this event.
Applet_PreInvokeMethod must return CancelOperation when you are handling the event entirely through scripting and do not want the built-in code to execute.
However, if there is code in the same script following CancelOperation, that code runs regardless of the CancelOperation.