44

我在 ASP.NET 中使用 C#。

如何检查是否已将参数作为 POST 变量接收?

如果参数是通过 POST 或通过 GET 发送的,我需要执行不同的操作。

4

3 回答 3

100

将此用于 GET 值:

Request.QueryString["key"]

这对于 POST 值

Request.Form["key"]

此外,如果您不关心它是来自 GET 还是 POST,还是来自HttpContext.Items集合,这将起作用:

Request["key"]

需要注意的另一件事(如果需要)是您可以使用以下命令检查请求的类型:

Request.RequestType

这将是用于访问页面的动词(通常是 GET 或 POST)。Request.IsPostBack通常会检查这一点,但前提是 POST 请求包括由 ASP.NET 框架添加到页面的隐藏字段。

于 2010-01-29T14:29:02.347 回答
7

使用

申请表[]

对于 POST 变量,

请求.QueryString[]

忘记。

于 2010-01-29T14:29:55.260 回答
1

除了根据您的具体情况使用Request.Formand之外,检查' 的属性Request.QueryString也可能很有用。PageIsPostBack

if (Page.IsPostBack)
{
  // HTTP Post
}
else
{
  // HTTP Get
}
于 2010-01-29T14:31:04.693 回答