ASP.NET跨页投递 和页面间传值
原始页:设置某一按钮(botton等等)的PostBackUrl="~/target.aspx";
目标页取值:在一方法内,(TextBox)PreviousPage.FindControl("TextBox1");
服务器端跳转的应用技巧(Server.Execute,Server.Transfer或者Context.RewritePath)
response.redirect:客户端动作
server.transfer:服务端动作,IE无法感知转向,可以传递当前页环境
server.execute:服务端动作,IE无法感知转向,可以传递当前页环境,执行后返回原页面,与调用外部函数有些相似。
Execute 可以直接执行代码,可以传递当前页环境
目前在ASP.NET中页面传值共有这么几种方式:
1、表单提交,
<form action= "target.aspx" method = "post" name = "form1">
<input name = "param1" value = "1111"/>
<input name = "param2" value = "2222"/>
</form>
....
form1.submit();
....
此种方在ASP。NET中无效,因为ASP。NET的表单总是提交到自身页面,如果要提交到别一页面,需要特殊处理。
2、<A href="target.aspx?param1=1111¶m2=2222">链接地址传送</A>
接收页面: string str = Request["param1"]
3、Session共享
发送页面:Session("param1") = "1111";
按收页面 string str = Session("param1").ToString();
4、Application共享
发送页面: Application("param1") = "1111";
按收页面: string str = Application("param1").ToString();
此种方法不常使用,因为Application在一个应用程序域范围共享,所有用户可以改变及设置其值,故只应用计数器等需要全局变量的地方。
5、Cookie
6、Response.Redirect()方式
Response.Redirect("target.aspx?param1=1111¶m2=2222")
接收页面: string str = Request["param1"]
7、Server.Transfer()方式。
Server.Transfer("target.aspx?param1=1111¶m2=2222")
接收页面: string str = Request["param1"]
posted on 2010-07-28 14:26 Henry_Wang 阅读(271) 评论(0) 编辑 收藏 举报