ASP.NET状态管理之二(查询字苻串QueryString)

查询字苻串是追加在URL后的数据(也是我常用的)

例如:
http://www.cnblogs.com/aierong/admin/EditPosts.aspx?opt=abc
这里?后的opt=1就是查询字符串

当我们在一页面向另一页面传递数据时可以用此方法。

使用如下方法接到数据:
string str=Request.QueryString[“opt“]
这样str就等于“abc“

这里我们传递的是英文字符,要是传递中文字符,我们得进行编码和解吗:
傳送時用Server.UrlEncode方法編碼,接收時用Server.UrlDecode解碼.

例如:
传递:
string url=“http://www.cnblogs.com/aierong/admin/EditPosts.aspx?opt=“+Server.UrlEncode(“我们“);
Response.Redirect(url);
接收:
string str=Server.UrlDecode(Request.QueryString[“opt“]);
这样str就等于“我们“

当然我们还有一省事的方法:

在web.config中修改globalization节为
<globalization
            requestEncoding="gb2312"
            responseEncoding="gb2312"
/>

总结

查询字符串是在页 URL 的结尾附加的信息。

可以使用查询字符串来通过 URL 将数据提交回您的页或另一页上。
查询字符串提供一种维护某些状态信息的简单但有限的方法。
例如,它们是将信息从一页传送到另一页的简便的方法(例如,将产品号传递到将处理该产品号的另一页)。

使用查询字符串的优点
1.不需要任何服务器资源:查询字符串包含在对特定 URL 的 HTTP 请求中。
2.广泛的支持:几乎所有的浏览器和客户端设备均支持使用查询字符串传递值。
3.实现简单:ASP.NET完全支持查询字符串方法,其中包含了使用 HttpRequest 对象的Params属性读取查询字符串的方法。

使用查询字符串的缺点
1.潜在的安全性风险  
用户可以通过浏览器用户界面直接看到查询字符串中的信息。
用户可将此URL设置为书签或发送给别的用户,从而通过此URL传递查询字符串中的信息。
如果您担心查询字符串中的任何敏感数据,请考虑使用窗体(使用 POST而不是查询字符串)中的隐藏域。

2.有限的容量  
有些浏览器和客户端设备对URL的长度有2083个字符的限制。

 

 

Sql Server2005 Transact-SQL 新兵器学习总结之-总结
MS SQL数据库备份和恢复存储过程(加强版本)
sql server中分布式查询随笔(链接服务器(sp_addlinkedserver)和远程登录映射(sp_addlinkedsrvlogin)使用小总结)
WAP开发资料站(最新更新)
自定义格式字符串随笔 (IFormattable,IFormatProvider,ICustomFormatter三接口的实现)
Mcad学习笔记之异步编程(AsyncCallback 委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)
Mcad学习笔记之通过反射调用類的方法,屬性,字段,索引器(2種方法)
Mcad学习笔记之序列化(2进制和Soap序列化)
Mcad学习笔记之委托再理解(delegate的构造器,BeginInvoke,EndInvoke,Invoke4个方法的探讨)
WinForm开发,窗体显示和窗体传值相关知识总结
Mcad学习笔记之Microsoft Windows服务
copy某目錄下的所有的目錄和文件到目的目錄(目錄數據備份)
ASP.NET状态管理之一(概括篇)

posted @ 2004-07-14 01:25  aierong  阅读(2603)  评论(1编辑  收藏  举报