Question: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:
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>