1 <%@ Page Language="C#" AutoEventWireup="true" %>
\r
2 <%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
\r
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
\r
5 <script runat="server" >
\r
6 protected System.Collections.Specialized.ListDictionary catalog;
\r
7 protected String returnValue;
\r
8 public bool raiseCallbackEvent;
\r
9 public bool getCallbackResult;
\r
10 protected void Page_Load (object sender, EventArgs e)
\r
12 String cbReference =
\r
13 Page.ClientScript.GetCallbackEventReference (this,
\r
14 "arg", "ReceiveServerData", "context", null, false);
\r
15 String callbackScript;
\r
16 callbackScript = "function CallServer(arg, context)" +
\r
17 "{ " + cbReference + ";}";
\r
18 Page.ClientScript.RegisterClientScriptBlock (this.GetType (),
\r
19 "CallServer", callbackScript, true);
\r
20 catalog = new System.Collections.Specialized.ListDictionary ();
\r
21 catalog.Add ("monitor", 12);
\r
22 catalog.Add ("laptop", 10);
\r
23 catalog.Add ("keyboard", 23);
\r
24 catalog.Add ("mouse", 17);
\r
26 ListBox1.DataSource = catalog;
\r
27 ListBox1.DataTextField = "key";
\r
28 ListBox1.DataBind ();
\r
31 protected override void OnPreInit (EventArgs e)
\r
33 MonoTests.SystemWeb.Framework.WebTest t = MonoTests.SystemWeb.Framework.WebTest.CurrentTest;
\r
42 void System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent (String eventArgument)
\r
44 raiseCallbackEvent = true;
\r
45 if (catalog[eventArgument] == null) {
\r
49 returnValue = catalog[eventArgument].ToString ();
\r
53 String System.Web.UI.ICallbackEventHandler.GetCallbackResult ()
\r
55 getCallbackResult = true;
\r
57 if (getCallbackResult == true)
\r
58 returnValue += "|true";
\r
60 returnValue += "|false";
\r
62 if (raiseCallbackEvent == true)
\r
63 returnValue += "|true";
\r
65 returnValue += "|false";
\r
72 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
\r
73 <head id="Head1" runat="server">
\r
74 <title>Client Callback Example</title>
\r
76 <script type="text/ecmascript">
\r
77 function LookUpStock()
\r
79 var lb = document.getElementById("ListBox1");
\r
80 var product = lb.options[lb.selectedIndex].text;
\r
81 CallServer(product, "");
\r
84 function ReceiveServerData(rValue)
\r
86 document.getElementById("ResultsSpan").innerHTML = rValue;
\r
91 <form id="form1" runat="server">
\r
93 <asp:ListBox ID="ListBox1" Runat="server"></asp:ListBox>
\r
96 <button type="Button" onclick="LookUpStock()">Look Up Stock</button>
\r
99 Items in stock: <span id="ResultsSpan" runat="server"></span>
\r