ASP.NET2.0 使用回调功能

 

实现ICallbackEventHandler接口

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RandomNumber.aspx.cs" Inherits="RandomNumber" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    
<title>Untitled Page</title>
    
<script type="text/javascript">
    
function GetNumber()
    {
        UseCallback();
    }
    
    
function GetRandomNumberFromServer(TextBox1,context)
    {
        document.forms[
0].TextBox1.value = TextBox1;
    }
    
</script>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<input id="Button1" type="button" value="获取随机数" onclick="GetNumber()" />
        
<br/>
        
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    
</div>
    
</form>
</body>
</html>

 

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

public partial class RandomNumber : System.Web.UI.Page, ICallbackEventHandler
{
    
private string _callbackResult = null;
    
protected void Page_Load(object sender, EventArgs e)
    {
        
string cbReference = Page.ClientScript.GetCallbackEventReference(this"arg""GetRandomNumberFromServer""context");
        
string cbScript = "function UseCallback(arg,context){ " + cbReference + ";}";
        Page.ClientScript.RegisterClientScriptBlock(
this.GetType(), "UseCallback", cbScript, true);
    }

    
//ICallbackEventHandlerj\接口实现两个方法:RaiseCallbackEvent和GetCallbackResult

    
public void RaiseCallbackEvent(string eventArg)
    {
        Random rnd 
= new Random();
        _callbackResult 
= rnd.Next().ToString();
    }

    
public string GetCallbackResult()
    {
        
return _callbackResult;
    }
}

 

 

posted on 2008-08-09 13:50  王丹小筑  阅读(152)  评论(0)    收藏  举报

导航