您的位置:首页 > 编程语言 > ASP

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

2017-10-17 17:51 274 查看
例如:
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个字符的限制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: