asp.net2.0无刷新

本文提供了一个使用ASP.NET进行客户端回调的示例,演示了如何实现客户端与服务器端的交互,包括定义回调方法、注册客户端脚本等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
MSDN的例子有错误,接口方法已改变。给个例子
<%@ Page Language="C#" EnableViewState="false"%>

<%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    
    
public int cbCount = 0;
    StringBuilder sb 
= new StringBuilder("No page postbacks have occurred.");
    
// Define method that processes the callbacks on server.
    public void RaiseCallbackEvent(String eventArgument)
    {
        cbCount 
= Convert.ToInt32(eventArgument) + 1;
        
    }

    
// Define method that returns callback result.
    public string GetCallbackResult()
    {
        
return cbCount.ToString();
    }

    
protected void Page_Load(object sender, EventArgs e)
    {
        

        
// Check if this is a postback.
        if (Page.IsPostBack)
        {
            sb.Append(
"A page postback has occurred.");
        }

        
// Write out any messages.
        MyLabel.Text = sb.ToString();

        
// Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;

        
// Define one of the callback script's context.
        
// The callback script will be defined in a script block on the page.
        StringBuilder context1 = new StringBuilder();
        context1.Append(
"function ReceiveServerData1(arg, context)");
        context1.Append(
"{");
        context1.Append(
"Message1.innerText =  arg;");
        context1.Append(
"value1 = arg;");
        context1.Append(
"}");

        
// Define callback references.
        String cbReference1 = cs.GetCallbackEventReference(this"arg",
            
"ReceiveServerData1", context1.ToString());
        String cbReference2 
= cs.GetCallbackEventReference("'" +
            Page.UniqueID 
+ "'""arg""ReceiveServerData2""",
            
"ProcessCallBackError"false);
        String callbackScript1 
= "function CallTheServer1(arg, context) {" +
            cbReference1 
+ "; }";
        String callbackScript2 
= "function CallTheServer2(arg, context) {" +
            cbReference2 
+ "; }";

        
// Register script blocks will perform call to the server.
        cs.RegisterClientScriptBlock(this.GetType(), "CallTheServer1",
            callbackScript1, 
true);
        cs.RegisterClientScriptBlock(
this.GetType(), "CallTheServer2",
            callbackScript2, 
true);

    }
</script>

<script type="text/javascript">
var value1 
= 0;
var value2 
= 0;
function ReceiveServerData2(arg, context)
{
    Message2.innerText 
= arg;
    value2 
= arg;
}
function ProcessCallBackError(arg, context)
{
    Message2.innerText 
= 'An error has occurred.';
    
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    
<title>ClientScriptManager Example</title>
</head>
<body>
    
<form id="Form1" runat="server">
        
<div>
            Callback 
1 result: <span id="Message1">0</span>
            
<br />
            Callback 
2 result: <span id="Message2">0</span>
            
<br />
            
<br />
            
<input type="button" value="ClientCallBack1" onclick="CallTheServer1(value1, alert('Increment value'))" />
            
<input type="button" value="ClientCallBack2" onclick="CallTheServer2(value2, alert('Increment value'))" />
            
<asp:Button ID="Button1" runat="server" Text="Button" />
            
<br />
            
<br />
            
<asp:Label ID="MyLabel" runat="server" EnableViewState="true"></asp:Label>
        
</div>
    
</form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值