You create a Microsoft ASP.NET application by using the Microsoft .NET Framework version 3.5.
You create a Web form in the application by using the following code fragment. (Line numbers are included for reference only.)
01 <script runat="server">
02 protected void Button_Handler(object sender, EventArgs e)
03 {
04 // some long-processing operation.
05 }
06 </script>
07 <div>
08 <asp:ScriptManager ID="defaultScriptManager"
09 runat="server" />
10
11 <asp:UpdatePanel ID="defaultPanel"
12 UpdateMode="Conditional" runat="server">
13 <ContentTemplate>
14 <!– more content here –>
15 <asp:Button ID="btnSubmit" runat="server"
16 Text="Submit" OnClick="Button_Handler" />
17 </ContentTemplate>
18 </asp:UpdatePanel>
19 </div>
You plan to create a client-side script code by using ASP.NET AJAX.
You need to ensure that while a request is being processed, any subsequent Click events on the btnSubmit Button control are suppressed.
Which code fragment should you insert at line 10?
A.
<script type="text/javascript" language="javascript">
var rm = Sys.WebForms.PageRequestManager.getInstance();
rm.add_beginRequest(checkPostback);
function checkPostback(sender, args) {
if (rm.get_isInAsyncPostBack() && args.get_postBackElement().id == ‘btnSubmit’) {
rm.abortPostBack(); alert(‘A previous request is still in progress.’);
}
}
</script>
B.
<script type="text/javascript" language="javascript">
var rm = Sys.WebForms.PageRequestManager.getInstance();
rm.add_initializeRequest(checkPostback);
function checkPostback(sender, args) {
if (rm.get_isInAsyncPostBack() && args.get_postBackElement().id == ‘btnSubmit’) {
rm.abortPostBack();
alert(‘A previous request is still in progress.’);
}
}
</script>
C.
<script type="text/javascript" language="javascript">
var rm = Sys.WebForms.PageRequestManager.getInstance();
rm.add_initializeRequest(checkPostback);
function checkPostback(sender, args) {
if (rm.get_isInAsyncPostBack() && args.get_postBackElement().id == ‘btnSubmit’) {
args.set_cancel(true);
alert(‘A previous request is still in progress.’);
}
}
</script>
D.
<script type="text/javascript" language="javascript">
var rm = Sys.WebForms.PageRequestManager.getInstance();
rm.add_beginRequest(checkPostback);
function checkPostback(sender, args) {
var request = args.get_request();
if (rm.get_isInAsyncPostBack() && args.get_postBackElement().id == ‘btnSubmit’) {
request.completed(new Sys.CancelEventArgs());
alert(‘A previous request is still in progress.’);
}
}
</script>
Explanation:
rm.abortPostBack(); Cancel the postback that is currently running
args.set_cancel(true); Cancel this postback