如何在无刷新页面的情况下实现客户端回调实例(C#)—MSDN学习笔记

经常在网上找各种各样的资料看,来解决某一具有针对性的问题,可是最终发现还是MSDN好,可惜大部分没有汉化,而且实例型的资料并不是很多,但不管怎么说MSDN还是需要我们认真学习的!
<% @ Page Language = " C# "  AutoEventWireup = " true "  
  CodeFile
= " ClientCallback.aspx.cs "  Inherits = " ClientCallback "   %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
  1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
>

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
  
< script  type ="text/javascript" >
    
function  LookUpStock()
    {
        
var  lb  =  document.forms[ 0 ].ListBox1;
        
var  product  =  lb.options[lb.selectedIndex].text 
        CallServer(product, 
"" );
    }
    
    
function  ReceiveServerData(rValue)
    {
        Results.innerText 
=  rValue;
    }
  
</ script >
</ head >
< body >
  
< form  id ="form1"  runat ="server" >
    
< div >
      
< asp:ListBox  ID ="ListBox1"  Runat ="server" ></ asp:ListBox >
      
< br  />
      
< br  />
      
< button  onclick ="LookUpStock()" > Look Up Stock </ button >
      
< br  />
      
< br  />
      Items in stock: 
< span  ID ="Results" ></ span >
      
< br  />
    
</ div >
  
</ form >
</ body >
</ html >


 1  using System;
 2  using System.Data;
 3  using System.Configuration;
 4  using System.Collections;
 5  using System.Web;
 6  using System.Web.Security;
 7  using System.Web.UI;
 8  using System.Web.UI.WebControls;
 9  using System.Web.UI.WebControls.WebParts;
10  using System.Web.UI.HtmlControls;
11 
12  public partial class ClientCallback : System.Web.UI.Page,
13       System.Web.UI.ICallbackEventHandler
14  {
15      protected System.Collections.Specialized.ListDictionary catalog;
16      protected void Page_Load(object sender, EventArgs e)
17      {
18          String cbReference =
19              Page.ClientScript.GetCallbackEventReference(this,
20              "arg", "ReceiveServerData", "context");
21          String callbackScript;
22          callbackScript = "function CallServer(arg, context)" +
23              "{ " + cbReference + "} ;";
24          Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
25              "CallServer", callbackScript, true);
26 
27          catalog = new System.Collections.Specialized.ListDictionary();
28          catalog.Add("monitor", 12);
29          catalog.Add("laptop", 10);
30          catalog.Add("keyboard", 23);
31          catalog.Add("mouse", 17);
32 
33          ListBox1.DataSource = catalog;
34          ListBox1.DataTextField = "key";
35          ListBox1.DataBind();
36      }
37 
38      public String RaiseCallbackEvent(String eventArgument)
39      {
40          String returnValue;
41          if (catalog[eventArgument] == null)
42          {
43              returnValue = "-1";
44          }
45          else
46          {
47              returnValue = catalog[eventArgument].ToString();
48          }
49          return returnValue;
50      }
51  }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值