如何处理C#.NET GET / POST?

时间:2011-06-10 13:13:46

标签: c# .net post get

由于我从PHP开始使用.NET,因此我选择了C#来使用它并且很好地实现了它。 关于GET和POST的处理,我有一个问题。

到目前为止,我已经确定我可以将它放在aspx页面后面的代码文件中:

if (Request.HttpMethod.ToString() == "POST") {

    Response.Write("You sent a post!")

}

我可以和ELSE一起处理GET,但你究竟会怎么做?

在PHP中我会做这样的事情:

示例网址= http://www.example.com/page.php?foo=bar

$foobar = $_GET['foo'];

有些善意的人请指点我在C#中处理这个问题。

由于

6 个答案:

答案 0 :(得分:32)

$ _GET []的.Net版本是:

 Request.QueryString["parameter1"]

您不需要执行此IF条件。

$ _POST []的.Net版本是:

 Request.Form["paramName"];

仍然不需要IF条件。

但是在Asp.Net webform中,您不需要一直使用Request类,因为页面的PostBack会将您的表单数据直接包含在控件值中。假设您有一个名为txt1的文本框,当用户提交表单时,您可以通过访问txt1直接获取此文本框的值。

答案 1 :(得分:10)

基本上就是:

var request = Request["q"];         // $_REQUEST
var post = Request.Form["q"];       // $_POST
var get = Request.QueryString["q"]; // $_GET

答案 2 :(得分:6)

尝试

    string foobar = Request.QueryString["foo"];

答案 3 :(得分:3)

如果您希望获取Foo的查询字符串值,请使用:

Request.QueryString["foo"];

您可以使用请求对象获取发布到您网页的值。

答案 4 :(得分:3)

如果您的目标是能够访问传入的参数而不管使用的方法(获取与发布),那么您可以使用Request.Params [“paramname”]来访问它们,而不是需要担心这是一个获取还是一个帖子。

答案 5 :(得分:1)

请原谅我,如果我不太了解这个问题,但我相信你要求QueryString属性?

http://msdn.microsoft.com/en-us/library/system.web.httprequest.querystring.aspx