由__doPostBack方法引起的联想

本文介绍了ASP.NET中PostBack的工作原理,展示了如何使用JavaScript模拟表单提交,并解释了服务器控件如asp:Button如何触发页面回传。

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

看了Asp.net中的GridView中实现的分页,有点感想,其实Http协议就有Post和Get两种方法,而Asp.net中PostBack其实就是对Post方法的封装,自己根据其中的__doPostBack()也写了一个方法,用来向后台传递参数。

js代码如下:

  1.     function test(param) 
  2.     { 
  3.         var theform; 
  4.         theform = document.forms[0]; 
  5.         if(!theform.__TEST) 
  6.         {             
  7.            theform.appendChild(document.createElement("<input type=&apos;hidden&apos; name=&apos;__TEST&apos;>")); 
  8.         } 
  9.        theform.__TEST.value = param; 
  10.        
  11.         if ((typeof(theform.onsubmit) == "function")) 
  12.         { 
  13.             if(theform.onsubmit()!=false
  14.             { 
  15.                 theform.submit();     
  16.             } 
  17.         } 
  18.         else 
  19.         {             
  20.             theform.submit();     
  21.         } 
  22.     } 
通过如下方法来调用: <a href="javascript:test(1)">测试</a>

   我可以通过后台的 Request("__TEST")来获取值。其实说简单点,就是form表单提交到本页,将隐藏值的__TEST一同通过Post的方法提交到后台。

   接下来再谈谈对Asp.net中服务器控件的理解,比如asp:Button,大家可能知道如果没有把asp:Button服务器控件放到form容器中的话,会报错,那是因为其实服务器控件是封装了Http的Post方法的,将在点击按钮时会自动的调用Post方法,将本页面回传。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值