New test.
[mono.git] / mcs / class / System.Web / Test / mainsoft / MainsoftWebApp20 / CallbackTest1.aspx
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
4 \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
11       {\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
25 \r
26           ListBox1.DataSource = catalog;\r
27           ListBox1.DataTextField = "key";\r
28           ListBox1.DataBind ();\r
29       }\r
30 \r
31       protected override void OnPreInit (EventArgs e)\r
32       {\r
33           MonoTests.SystemWeb.Framework.WebTest t = MonoTests.SystemWeb.Framework.WebTest.CurrentTest;\r
34           if (t != null)\r
35               t.Invoke (this);\r
36           \r
37           base.OnPreInit (e);\r
38       }\r
39 \r
40       \r
41 \r
42       void System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent (String eventArgument)\r
43       {\r
44           raiseCallbackEvent = true;\r
45           if (catalog[eventArgument] == null) {\r
46               returnValue = "-1";\r
47           }\r
48           else {\r
49               returnValue = catalog[eventArgument].ToString ();\r
50           }\r
51       }\r
52 \r
53       String System.Web.UI.ICallbackEventHandler.GetCallbackResult ()\r
54       {\r
55           getCallbackResult = true;\r
56           \r
57           if (getCallbackResult == true)\r
58               returnValue += "|true";\r
59           else\r
60               returnValue += "|false";\r
61           \r
62           if (raiseCallbackEvent == true)\r
63               returnValue += "|true";\r
64           else\r
65               returnValue += "|false";  \r
66           \r
67           return returnValue;\r
68       }\r
69       \r
70   </script>\r
71    \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
75   \r
76   <script type="text/ecmascript">\r
77     function LookUpStock()\r
78     {\r
79         var lb = document.getElementById("ListBox1");\r
80         var product = lb.options[lb.selectedIndex].text;\r
81         CallServer(product, "");\r
82     }\r
83     \r
84     function ReceiveServerData(rValue)\r
85     {   \r
86         document.getElementById("ResultsSpan").innerHTML = rValue;\r
87     }\r
88   </script>\r
89 </head>\r
90 <body>\r
91   <form id="form1" runat="server">\r
92     <div>\r
93       <asp:ListBox ID="ListBox1" Runat="server"></asp:ListBox>\r
94       <br />\r
95       <br />\r
96       <button type="Button" onclick="LookUpStock()">Look Up Stock</button>\r
97       <br />\r
98       <br />\r
99       Items in stock: <span id="ResultsSpan" runat="server"></span>\r
100       <br />\r
101     </div>\r
102   </form>\r
103 </body>\r
104 </html>