页面传值和页面跳转
一页面传值方式:
WebForm默认生成的form表单是runat=sever,当不使用服务器控件的时候一定记得删除
form action属性可以将表单提交到指定的网页,可以用get或者post方式提交,只有在form表单中的元素才有name属性
get 提交的可以用request[""]获取,不能用request.Form获取,而post都可以
1;表单提交 表单默认提交到自己的页面
2链接地址传送
<A href="target.aspx?param1=1111¶m2=2222">链接地址传送</A>
接收页面: string str = Request["param1"]
3session共享 ,SessionID存储在浏览器端,其它存储在服务器端
发送页面:Session["param1"] = "1111";
按收页面 string str = Session["param1"].ToString();
4Application共享
5、Cookie 储存在客户端
6、Response.Redirect()方式
Response.Redirect("target.aspx?param1=1111¶m2=2222")
接收页面: string str = Request["param1"]
7 Server.Transfer()方式。
这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,
新的页面使用前一个页面的应答流,请求的网址也不变。
所以这个方法是完全面象对象的,简洁有效。
Server.Transfer("target.aspx?param1=1111¶m2=2222")
接收页面: string str = Request["param1"]
8Querystring传值方式
cookie 和session 的区别:
1、cookie(名字,值,过期时间,路径和域)数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:将登陆信息等重要信息存放为SESSION,其他信息如果需要保留,可以放在COOKIE中。
二页面跳转
1 链接地址传送<a><a/>
2Response.Redirect(); 执行步骤:浏览器操作->服务器编译->发回页面->浏览器按照新的URL请求 ->服务器响应新的URL地址->编辑新的页面->发回浏览器;
3 Sever.Transfer() 执行步骤:浏览器操作->服务器编译->Sever.Transfer重定向->服务器响应新的URL地址->编辑新的页面->发回浏览器;
区别:Sever.Transfer 不能转向其它站点;隐藏目标地址;
4 PostBackUrl, 提交到跳转页面; 为了传递某些值;