用__postback传递JavaScript变量到c#(pass a js variable to C# by a __postback )

本文深入探讨了ASP.NET中的PostBack机制,详细介绍了如何通过__doPostBack触发服务器端回传事件,实现页面与服务器之间的非刷新数据交互。文章提供了一个具体的示例,包括客户端JavaScript初始化函数及服务器端事件处理逻辑。

之前发过用POST方式的http://www.cnblogs.com/blodfox777/articles/1271912.html

而用__postback比较高阶,代码出自NC01

 

 

private   void  Page_Load( object  sender, System.EventArgs e)
{
 
//  Insure that the __doPostBack() JavaScript method is created
  this .GetPostBackEventReference( this string .Empty);

 
if  (  this .IsPostBack )
 {
  
string  eventTarget  =  ( this .Request[ " __EVENTTARGET " ==   null ?   string .Empty :  this .Request[ " __EVENTTARGET " ];
  
string  eventArgument  =  ( this .Request[ " __EVENTARGUMENT " ==   null ?   string .Empty :  this .Request[ " __EVENTARGUMENT " ];

  
if  ( eventTarget  ==   " initializeServerSidePostBack "  )
  {
   
string  valueSent  =  eventArgument;
  }
 }
 
else
 {
  ClientScript.RegisterStartupScript(GetType(Page), 
" initializeServerSideScript " " initializeServerSide(); " true )
 }
}

 

 

ContractedBlock.gif ExpandedBlockStart.gif Code
<script type="text/javascript">
<!--
function initializeServerSide()
{
 
// Get the value to return here
 var eventArgument = 'Some value to send server-side';

 __doPostBack(
'initializeServerSidePostBack', eventArgument)
}
// -->
</script>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值