1. ホーム
  2. c#

[解決済み] C# ASP.NETで完全なクエリ文字列を取得する

2023-06-20 22:47:01

質問

PHPプログラマとして、私はHTTPクエリ文字列を取得するために$_GETを使用することに慣れています... そして、私が文字列全体を必要とするなら、それを行う方法はたくさんあります。

しかし、ASPでは、クエリを取得することができないようです。

以下は、news.aspxのコードです(いくつかのHTMLに埋め込まれています)。

<%                             
    string URL = "http://www.example.com/rendernews.php?"+Request.Querystring;
    System.Net.WebClient wc = new System.Net.WebClient();
    string data = wc.DownloadString(URL);
    Response.Output.Write(data);
%>

リモートサーバーからPHPスクリプトの出力を取得していますが、これはRequest.Querystringがなくても完全に動作します。

問題は、最初の行で完全なクエリ文字列を取得しようとしていることです。

問題は、最初の行で完全なクエリ文字列を取得しようとしていることです。エラー " が発生します。 オブジェクト参照がオブジェクトのインスタンスに設定されていません。 "これは、基本的にRequest.Querystringが存在しないことを意味します。

何が問題なのでしょうか?index.aspx が次のように呼び出されたとき、どのようにクエリー文字列を取得すればよいのでしょうか。 http://test.com/news.aspx?id=2 私のスクリプトが取得する http://www.example.com/rendernews.php?id=2

どのように解決するのですか?

試しに Request.Url.Query を試してみてください。