文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ASP.NET异步回调怎么实现

2023-06-17 23:34

关注

本篇内容主要讲解“ASP.NET异步回调怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ASP.NET异步回调怎么实现”吧!

ASP.NET异步回调实例:

首先,在Render事件中添加好一个事件

protected override void RenderContents(HtmlTextWriter output)   {    output.RenderBeginTag(HtmlTextWriterTag.Div);    output.AddAttribute(HtmlTextWriterAttribute.Type,   "text");    output.AddAttribute(HtmlTextWriterAttribute.Id,   this.ClientID);    output.AddAttribute(HtmlTextWriterAttribute.Name,   this.ClientID);    output.AddAttribute(HtmlTextWriterAttribute.Value,   this.Text);     output.AddAttribute("OnBlur", "ClientCallback();");    this.AddAttributesToRender(output);    output.RenderBeginTag(HtmlTextWriterTag.Input);    output.RenderEndTag();    output.RenderEndTag();   }

这里最重要的就是output.AddAttribute("OnBlur","ClientCallback();");

ASP.NET异步回调实例之在OnPreRender事件中,添加如下代码:

protected override void OnPreRe   nder(EventArgs e)   {   //Page.ClientScript.RegisterClientScriptInclude("UtilityFunctions", "JScript.js");   Page.ClientScript.RegisterStartupScript(typeof(Page), "ControlFocus",   "document.getElementById('" + this.ClientID + "').focus();", true);   Page.ClientScript.RegisterStartupScript(typeof(Page),  "ClientCallback","function ClientCallback() {"+"args=document.getElementById('"+this.ClientID+"').value;  "+Page.ClientScript.GetCallbackEventReference(this,  "args","CallbackHandler",null,"ErrorHandler",true)+"}");   //向服务器发送请求,由服务器端生成回调的客户端脚本。   }

也就是在服务器端生成客户端代码,注意***一个方法GetCallbackEventReference,我理解的是在服务器端捕捉了客户端的请求之后,生成相应的客户端脚本,在服务器端回调的时候,客户端决定用什么函数处理回调和错误。

ASP.NET异步回调实例之服务器端实现接口的一个方法,也就是接收到客户端的请求之后,由服务器端先处理,然后再把结果和相应代码发回客户端。

#region ICallbackEventHandler Members   public string RaiseCallbackEvent(string eventArgument)   {    int result;    if (!Int32.TryParse(eventArgument, out result))    throw new Exception("The method is not implemented.");   return "Valid Data";   }   #endregion

ASP.NET异步回调实例之在jscript.js文件中写好相应的回调处理函数即可:

var args;   var ctx;    function ValidateText(ctl)   {    if(ctl.value=='')    {   alert("Please enter a value");   ctl.focus();    }   }    function CallbackHandler(args,ctx)   {    alert("The data is valid");   }    function ErrorHandler(args,ctx)   {    alert("The data is not a number");   }

到此,相信大家对“ASP.NET异步回调怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯