0

以前も質問したのですが、別の問題で困っています。たとえば、次のようにページをロードするとします。

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

そして、次のことを試してください:

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

両方ともstrUser" strURL" に設定されます。これは私が期待することです。

しかし、次のように呼び出す場合:

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

strUserになりますが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 に答える