0

我之前问过这个,但我遇到了另一个问题。说,如果我像这样加载我的页面:

http://localhost:57845/api.ashx?v=123&usr=&url=

然后尝试做:

string strUser = context.Request["usr"];
string strURL = context.Request["url"];

两者都strUserstrURL设置为“”,这是我所期望的。

但如果这样称呼它:

http://localhost:57845/api.ashx?v=123

strUserwill be null,我也希望如此,但strURL将设置为“/api.ashx”。

这是为什么???

4

1 回答 1

3

我相信这是来自ServerVariables请求的一部分。如果您要求remote_addr或 IIS 支持的任何其他服务器变量(假设您通过 IIS),您同样会得到一个值。

如果您只想从查询字符串中获取参数,请使用以下QueryString属性:

string strUrl = context.Request.QueryString["url"];

(我也强烈建议你去掉变量名上的类型前缀,但那是另一回事。)

于 2013-01-14T07:13:19.910 回答