__doPostBack(_ _) 使用

使用_doPostBack可在JS中调用服务器控件的事件,也可以传参数,函数定义

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['form1'];
if (!theForm) {
    theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
隐藏控件
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />

<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />

theForm.submit()会导致表单提交失败,.net2.0已修改该问题.如调用为.javascript:__doPostBack('GridView1','jump')回传到服务器的参数'jump'可通过Request.Form[“__EVENTARGUMENT”]获得,Request.Form[“__EVENTTARGET”]获得该控件ID,Button 和 ImageButton控件除外,可通过如下方法得到他们的实例
 protected   void   btnSubmit_Click(object   sender,   EventArgs   e)  
  {  
      Button   btn   =   (Button)sender;    
      if   (btn   ==   btn1)   
    ...
  }  

另外,控件属性visible设置为false也是无法回传到服务器触发事件.如果要调用的控件是子控件,用''$'或':'分割父控件:οnclick="javascript:__doPostBack('GridView1','jump$')",jump这个参数可以在后台用函数Page.ClientScript.GetPostBackEventReference(this, "jump")给客户端,以便客户端提交的时候回发给服务器端,可用此来重写控件,激发事件改变

转载于:https://www.cnblogs.com/kuaile/archive/2009/09/09/1563188.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值