asp.net ajax插件,AJAX触发aspnet控件的C#事件(基于Jquery)

熟悉asp.net事件机制的人都知道,在aspnet生成的页面里有两个隐藏域。

第一个“__EVENTTARGET”保存着要触发事件的那个控件的ID,第二个在某些控件触发事件时用来保存事件的名称的某个参数。当页面上的某个控件如:

被点击时,脚本会自动将“btn_ItemAdd”赋值给__EVENTTATGT,然后再用Submit()提交整个页面。在这里很自然我们就会想到替换aspnet页面自带的脚本,换成异步AJAX的方式提交页面。下面是本人整理后的替换代码,其中使用Jquery和Jquery.form插件。

/*

eventTarget:就是要触发事件的控件ID

eventArgument:一些参数信息,例如gridview的SelectIndexChanged事件就需要把该参数设为Select$1,1为selectrowindex

callBack:Ajax请求完成后要调用的函数(可选)

callBackArg:上面函数调用时传入的参数(可选)

*/

functionajaxEvent(eventTarget,eventArgument,callBack,callBackArg){

try{

vartheForm=document.forms[0];

//如果页面没有那两个重要的HiddenField则添加

if(!document.getElementById("__EVENTTARGET")){

varMy__EVENTTARGET="";

$(My__EVENTTARGET).appendTo("form");

}

if(!document.getElementById("__EVENTARGUMENT")){

varMy__EVENTARGUMENT="";

$(My__EVENTARGUMENT).appendTo("form");

}

$("#__EVENTTARGET").val(eventTarget);

$("#__EVENTARGUMENT").val(eventArgument);

}

catch(e){

alert(e);

}

try{

$(theForm).ajaxSubmit(

function(dataFormServer){

varreturnText=dataFormServer.split("::");

if(returnText[0]=="False"){

alert(returnText[1]);

return;

}//如果要返回错误信息,我们约定返回的信息以False::开头,这样可以在这里统一处理出错

if(callBack){

if(callBackArg){//如果传入了参数则用用户传入的参数调用回调函数

callBack(callBackArg);

}

else{//默认将服务器返回的信息传递给回调函数

callBack(dataFormServer);

}

}

}

);

}

catch(e){

}

returnfalse;//防止页面以submit方式提交

}

有了上面的函数后,我们设置按钮的onclientclick属性为ajaxEvent("btn_ItemAdd","");代码如下

需要注意的是上述代码要成功运行需要在页面里添加几个JS引用

这些都是Jquery东西,在网上很容易下到。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值