aspxasp.net ICallbackEventHandler实现免刷新【客户端回调】

本文介绍了一种使用ASP.NET页面和JavaScript实现客户端与后台交互,验证用户输入ID的可用性的方法。通过定义接口和回调函数,实现了在用户点击按钮后,将ID值发送至后台进行检查,返回结果并在页面上显示是否可用。

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

aspx页面:

<div id="user">
          <input type="text" value="hhkedang" maxlength="10" id="userid" />
          <input type="button" value="试试" onclick="callServer()" /><div id="result"></div>
      </div>

<script type="text/javascript">//客户端脚本
    function huidiaofangfa(result)//这里接收服务端返回结果,并显示
    {
        document.getElementById("result").innerHTML=result;
    }
    </script>

 

 

下面是后台代码:
public partial class Default2 : System.Web.UI.Page, ICallbackEventHandler//继承接口 重要!
{
  
    private string _arg ="";
    protected void Page_Load(object sender, EventArgs e)
    {
        string script = Page.ClientScript.GetCallbackEventReference(this, "canshu", "huidiaofangfa", "");//两个字符串 :参数,回调方法

        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "callServer", "\nfunction callServer(){\ndocument.getElementById(\"result\").innerHTML=\"正在检查 \"+document.getElementById(\"userid\").value+\" 的可用性,请稍候...\";\nvar canshu=document.getElementById(\"userid\").value;\n" + script + ";\n}", true);
        //这个是注册一个连接 后台的js 函数,主要负责,把客户端的参数发送并赋值,“canshu”,为“canshu”,赋值
    }
 

    #region ICallbackEventHandler 接口的成员

    string ICallbackEventHandler.GetCallbackResult()//返回客户端的方法
    {
        System.Threading.Thread.Sleep(2000);
        return _arg;//返回一个string RaiseCallbackEvent方法赋值
   }

    void ICallbackEventHandler.RaiseCallbackEvent(string clientArgment)//接口成员,接受客户端参数的方法!
    {

        if (clientArgment.Equals("hhkedang"))
            _arg = string.Format("<span class=\"bad\">很遗憾,{0} 已被使用。</span>", clientArgment);
        else
            _arg = string.Format("<span class=\"ok\">恭喜您,{0} 可以注册。</span>", clientArgment);
    }

    #endregion
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值