迷茫了。求asp.net能运用的所有 页面传值方法

时间:2022-10-27 18:48:19
迷茫了。求asp.net能运用的所有 页面传值方法(包括html方法)
我只知道 
Response.Redirect(xxx.aspx?id=1);
这样有什么坏处?
还有session 和cookies 

server.ransfer("xxx.aspx");
server.Execute("xxx.aspx");
还有哪些传值的方法?

一般在web项目中 普通传参数采用的都是哪写方法?

8 个解决方案

#1


<form="form1" action="xxx.aspx">
xxx.aspx里
string i = requset.QueryString["xxx"];
这样的方法 是属于什么语言的?html?
这样有什么坏处

#2


迷茫了。求asp.net能运用的所有 页面传值方法(包括html方法) 
我只知道 
Response.Redirect(xxx.aspx?id=1); 
==
Response.Redirect("xxx.aspx?id=1"); 
接受页面用 string id = Request.QueryString["id"];
这个查询字符串的方式,缺点不够安全,而且URL地址栏有长度限制

还有session 和cookies 
==
Session
        InProc         StateServer         SQLServer
存储的物理位置 IIS(内存) Windows服务进程(内存) SQLServer数据库(磁盘)
存储的类型限制 无限制 可以序列化的类型
存储的大小限制 无限制
使用范围 当前请求上下文、每用户独立
生命周期 第一次访问网站创建,超时或Abandon时销毁
安全性 高(因为存放在服务器端)
优点 性能高,速度快 Session不依赖于Web服务器,不易丢失
缺点 容易丢失 序列化与反序列化消耗CPU资源,SqlServer模式从磁盘读取Session信息慢

Cookie:
存储的物理位置:客户端,如果是临时Cookie,存在于浏览器的内存中。如果是永久Cookie,存在于客户端的Cookies文件夹内。
存储的类型限制:字符串。
状态使用的范围:当前请求的上下文都能访问到Cookie,Cookie对每一用户独立。
存储的大小限制:不能大于4k。
生命周期:超过过期时间后失效。
安全与性能:安全性低(因为存放在客户端),对于敏感数据需要考虑加密。可用于长期保存用户设置。

server. Transfer("xxx.aspx"); 
server.Execute("xxx.aspx"); 
==
Server.Transfer不能跨应用程序

还有哪些传值的方法? 
==
表单提交


一般在web项目中 普通传参数采用的都是哪写方法?
==
查询字符串、表单提交、Session、Cookie

#3


学习

#4


查询字符串 表单提交 这2种方法能 解释一下吗

#5


查询字符串 
A.aspx

<a href="b.aspx?id=111">XX</a>
或者
Response.Redirect("b.aspx?id=111");

在B.aspx页面中可以用
string id = Request.QueryString["id"];
得到值111,这个叫查询字符串


表单提交
A.aspx
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/B.aspx" />

B.aspx可以用
string xx = Request.Form["TextBox1"];
得到A.aspx文本框输入的值,这个叫表单提交

#6


学习

#7


引用 6 楼 wzy_love_sly 的回复:
学习

#8


application用的也不算少。
page类的PreviousPage为前页对象提供引用!

#1


<form="form1" action="xxx.aspx">
xxx.aspx里
string i = requset.QueryString["xxx"];
这样的方法 是属于什么语言的?html?
这样有什么坏处

#2


迷茫了。求asp.net能运用的所有 页面传值方法(包括html方法) 
我只知道 
Response.Redirect(xxx.aspx?id=1); 
==
Response.Redirect("xxx.aspx?id=1"); 
接受页面用 string id = Request.QueryString["id"];
这个查询字符串的方式,缺点不够安全,而且URL地址栏有长度限制

还有session 和cookies 
==
Session
        InProc         StateServer         SQLServer
存储的物理位置 IIS(内存) Windows服务进程(内存) SQLServer数据库(磁盘)
存储的类型限制 无限制 可以序列化的类型
存储的大小限制 无限制
使用范围 当前请求上下文、每用户独立
生命周期 第一次访问网站创建,超时或Abandon时销毁
安全性 高(因为存放在服务器端)
优点 性能高,速度快 Session不依赖于Web服务器,不易丢失
缺点 容易丢失 序列化与反序列化消耗CPU资源,SqlServer模式从磁盘读取Session信息慢

Cookie:
存储的物理位置:客户端,如果是临时Cookie,存在于浏览器的内存中。如果是永久Cookie,存在于客户端的Cookies文件夹内。
存储的类型限制:字符串。
状态使用的范围:当前请求的上下文都能访问到Cookie,Cookie对每一用户独立。
存储的大小限制:不能大于4k。
生命周期:超过过期时间后失效。
安全与性能:安全性低(因为存放在客户端),对于敏感数据需要考虑加密。可用于长期保存用户设置。

server. Transfer("xxx.aspx"); 
server.Execute("xxx.aspx"); 
==
Server.Transfer不能跨应用程序

还有哪些传值的方法? 
==
表单提交


一般在web项目中 普通传参数采用的都是哪写方法?
==
查询字符串、表单提交、Session、Cookie

#3


学习

#4


查询字符串 表单提交 这2种方法能 解释一下吗

#5


查询字符串 
A.aspx

<a href="b.aspx?id=111">XX</a>
或者
Response.Redirect("b.aspx?id=111");

在B.aspx页面中可以用
string id = Request.QueryString["id"];
得到值111,这个叫查询字符串


表单提交
A.aspx
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="~/B.aspx" />

B.aspx可以用
string xx = Request.Form["TextBox1"];
得到A.aspx文本框输入的值,这个叫表单提交

#6


学习

#7


引用 6 楼 wzy_love_sly 的回复:
学习

#8


application用的也不算少。
page类的PreviousPage为前页对象提供引用!