Asp.Net中的脚本回调和Server.Transfer页面传值

王朝c#·作者佚名  2006-12-17
窄屏简体版  字體: |||超大  

在Asp.Net中经常要用到脚本回调和页面间的传值,下面是关于ScriptCallBack和Server.Transfer简单的示例代码

WebForm1.aspx

给Head中增加__doPostBack脚本,如果页面含有HyperLink等按钮控件,该脚本和2个隐藏控件'__EVENTTARGET'和'__EVENTARGUMENT'由FrameWork自动生成,若没有需要手动添加

<SCRIPT language='javascript'>

<!--

function __doPostBack(eventTarget, eventArgument) {

var theform;

if (window.navigator.appName.toLowerCase().indexOf('netscape') > -1) {

theform = document.forms['Form1'];//注意此处的FormID

} else {

theform = document.Form1;//还有此处

}

theform.__EVENTTARGET.value = eventTarget.split('$').join(':');

theform.__EVENTARGUMENT.value = eventArgument;

theform.submit();

}

// -->

</SCRIPT>

<form id='Form1' method='post' runat='server'>

<INPUT type='hidden' name='__EVENTTARGET' >

<INPUT type='hidden' name='__EVENTARGUMENT' >

<A href='javascript:__doPostBack('ScriptCallBack','ScriptCallBack')'>ScriptCallBack</A>

<ASP:TEXTBOX id='TextBox1' style='Z-INDEX: 101; LEFT: 112px; POSITION: absolute; TOP: 152px' runat='server'>sometext</ASP:TEXTBOX>

C#

WebForm1.aspx.cs

private void Page_Load(object sender, System.EventArgs e)

{

if (IsPostBack)

if (Request.Form['__EVENTARGUMENT']== 'ScriptCallBack')

Server.Transfer('WebForm2.aspx', true);//第二个参数指示是否保留页面的Form和QuerryString的值

}

WebForm2.aspx.cs

private void Page_Load(object sender, System.EventArgs e)

{

if(this.Context.Handler != sender)

Response.Write(Request.Form['TextBox1']);

}

VB.NET

WebForm1.aspx.vb

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If IsPostBack Then

If Request.Form('__EVENTARGUMENT') = 'ScriptCallBack' Then

Server.Transfer('WebForm2.aspx', True)'第二个参数指示是否保留页面的Form和QuerryString的值

End If

End If

End Sub

WebForm2.aspx.vb

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

If Not Me.Context.Handler Is sender Then

Response.Write(Request.Form('TextBox1'))

End If

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航