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

来源:互联网 发布:手机防御软件 编辑:程序博客网 时间:2024/05/16 15:31

例如:
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个字符的限制。

原创粉丝点击