浅谈如何利用__doPostBack()函数做自己灵活的AJAX.NET应用

来源:互联网 发布:泰州师说网络培训登录 编辑:程序博客网 时间:2024/06/16 09:50

大家都很惊叹微软的Ajax.NET简单的操作,但是有没有觉得它的灵活性大大减小了呢?以前纯手写的xmlhttm的Ajax和AjaxPor.dll提供的Ajax都是非常灵活的,可以使用任意的客户端触发方式(onclick,onmouseover,onkeydown...),和调用任意的服务器端自定义函数。而微软的Ajax.net似乎只能使用服务器控件的很少的事件,最常用的就是Button的onclick事件,而服务器端的函数也似乎只能是服务器端控件的事件函数,难道我们在页面上每添加一个Ajax功能,就要多添加一个Button控件和它的一个onclick事件吗?这似乎非常的不灵活啊!

我们程序员当然是想越简单越好,还要越灵活越好,要是为了简单而失去了灵活,那就失去意义了。

下面这个例子就是我利用Ajax.net的__doPostBack()函数演示如何做到非常灵活地使用Ajax.net,灵活到客户端使用任意触发方式,传递任意参数,服务器端调用任何函数,做任何想做的事情。

 

下面是源代码,注:需要配置Web.config并且需要有Web.Extensions控件。实例下载包(包括web.config和Web.Extensions) 

FanGAjax.aspx

-------------------

 

 

FanGAjax.aspx.cs

---------------

 

 

 

-----------

其中:HTMLButton是一个简单的HTML按钮,不是服务器控件,它的Click动作也能触发AJAX,并且调用后台的函数MyServerFun1

“Put Mouse over here”的Span也是简单的HTML Span,它的Onmouseover事件也能触发AJAX,调用后台的MyServerFun2

MyServerFun1和MyServerFun2都是普通的Server自定义函数,并非控件的事件函数。

 

其实大家一看就明白,实例还是通过一个Button控件__AJAXENTRANCE和一个隐藏域__AJAXAGRS来触发AJAX和传递参数的,这仅仅是一个小技巧而已,但是却能给我们带来非常大的灵活性!

原创粉丝点击