波斯马BOSSMA Information Technology

asp.net自定义获取Get和Post请求的参数

发布时间:2011年8月2日 / 分类:ASP.NET / 10,140 次浏览 / 评论

关于获取Get和Post请求的参数,.net类库提供了相关的方法:

Request.QueryString  常见的获取Url参数。

Request.Form 常见的获取提交表单项。

这两个方法在获取的时候都会进行解码,并且不是使用者可以控制的。这样可能就会导致一些问题,比如不想对获取到的参数进行解码,或者解码的时候需要特殊的编码而不是系统默认的编码。当然也可以从请求的数据流中读取字节进行解析,这样就增加了处理的复杂度,并且不便于快速多处应用。

这篇文章将提供一些方法,在获取参数的时候指定是否解码以及编码的类型。

一、首先看Url方式提交的参数

 

FillFromString方法是通过反编译微软的类库,然后经过简单修改而来的。处理方式严谨可靠,学习了下。

使用的时候调用GetQueryStrings方法获取全部Get参数的集合。

 

二、获取Post方式提交的参数

相比获取通过Url方式提交的参数,获取通过Post方式提交的参数要复杂一些。

要区分两种表单的类型:application/x-www-form-urlencoded 和 multipart/form-data,前者只能提交一般参数,后者还可以提交文件。

因为通过这种方式提交的数据,是先从流中读取字节数据,然后解码的,所以解码是必须的,但是可以提供特殊的编码类型。

我这里专门定义了一个类来解析这些数据,当然这个方法也是按照微软的思路来做的。

注意我在这个类中剔除了获取文件项的方法,只能获取其它表单项的值。
使用的时候可以如下调用:

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自波斯马,原文地址《asp.net自定义获取Get和Post请求的参数

关键字:

建议订阅本站,及时阅读最新文章!
【上一篇】 【下一篇】

发表评论