对.net 的 callBack 函数的小改造

本文介绍了一种改进后的callBack机制,通过VB.NET实现前后端交互的简化,前端只需调用callServer函数即可触发回调,降低了使用难度。

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

好久不用callBack了,因为效率问题,不过,最近接到个任务需要改原来的postBack代码为页面无闪烁,想了一下觉得还是用callBack代码修改量要少些,但是,,callBack前端的用法很囧也,很麻烦,比如用服务器端代码指定什么参数啦,回调后执行的js函数啦,搅来搅去的,于是对callBack进行了改造,目的是使callBack用起来更加方便。

——————————————————————

1. net端添加的一个方法(vb.net):

    Public Sub RegisterPageCallBackScripts(Optional ByVal callBackFunctionName As String = "callServer")
        Dim sbd As New StringBuilder()
        Dim sendDataArgument As String = "callStr"
        Dim receiveDataFunctionName As String = "rtnFunc"
        Dim context As String = "context"
        sbd.AppendLine("var " & callBackFunctionName & "=function( " & sendDataArgument & "," & receiveDataFunctionName & "," & context & "){")
        sbd.AppendLine("    " & Page.ClientScript.GetCallbackEventReference(Me, sendDataArgument, receiveDataFunctionName, context))
        sbd.AppendLine("}")

        Page.ClientScript.RegisterClientScriptBlock(Me.GetType(), "", sbd.ToString, True)
    End Sub

2. 如何使用?

1). 先在.net端的页面page.onload事件里面调用此方法:

        RegisterPageCallBackScripts() //注意可传函数名进去,默认是"callServer";

2). js端调用回调函数

$("btn_test").onclick = function(){
    //页面回调,第1参数是传回服务器的参数,第2个参数是回调结束执行的函数,实名匿名皆可
    callServer($("txt1").value,  function(receivedStr){alert( receivedStr )});
}

——————————————————————————————

完毕。

例子中的$函数等于getElementById(),这样处理之后,前端只要想回调就调用 callServer函数,很符合程序员的习惯,原来的receiveFromServer之类的函数也可以忽略了(匿名函数的使用也使得代码看起来简单不少),后端注册基本不用填参数,不用去管argument啊、receiveFromServer函数名称啊之类的前端名称,是不是简单不少了呢,:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值