webdn
 
  首页     免费截图     VIP会员区     广告Banner     技术文档     网站模板  
网站截图,网站每日新 !
虚拟主机
网页模板

首页 >> WebDN 技术文档 >> 网络编程 >> ASP.net 技术资料 >> Asp.Net中的脚本回调和Server.Transfer页面传值

 

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

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

在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



电话咨询:010-60520722 QQ咨询:3792656   |   583696287   |   66733350 关于WebDN  |  站点地图  |  联系我们  |  支付方式  |  友情链接
© 2004-2008 WebDN.com 版权所有. 沪ICP备05040479号