由于我从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#中处理这个问题。
由于
答案 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