2017-12-30 6 views
0

私はこのコードを.ashxファイルで提供されるパラメータから取得しますが、パラメータがあるにもかかわらず実行されるたびに常に""を返します。私は.ashxからパラメータを取得

http://localhost:21614/AlbumManager.aspx?mp3=AudioHandler.ashx?ID=ACHI-0001

と.ashxファイルが

public void ProcessRequest (HttpContext context) { 
    string ID = context.Request.QueryString["ID"]; 
} 

のように見える内部のIDを取得するために使用されるコードのようなルックスで働いている

URLは、私が順番に逃したものはありますパラメータを取得するには?

APPEND:01/01/2018(10:50 UTC + 0) ここで問題となるのは、this siteを私のコードの参照として使用しています。ちょっと微調整してIDを読み取りますstring(私のSQLで使用されているデータ型ですが)URLに提供されているパラメータは返されません。

また、私はコードから.QueryStringを置くと、それはASP.NETがクエリ文字列中の個々のパラメータは&文字によって分離されることを期待私はdataIdを変更しても{Id=}又は

答えて

1

を格納することに気づきました。 ?は、クエリ文字列をURLの前の部分と区別するためにのみ使用されます。 How to pass multiple parameters in a querystringを参照してください。

ので、URLは次のようになります。

http://localhost:21614/AlbumManager.aspx?mp3=AudioHandler.ashx&ID=ACHI-0001 
+0

まだ機能していません。まだ空文字列を渡します。私は[このサイト](https://www.aspsnippets.com/Articles/Save-MP3-Audio-Files-to-database-and-display-in-ASPNet-GridView-with-Play-and-Download)のコードを使用します。 -option.aspx)、ちょっと微調整してデータベースIDの型(これは最初の文字列)と一致しますが、デバッグするとIDが取得されません。 – MEGAtive

+0

質問を詳細に更新した後、提供されたURLから 'ID'パラメータを直接読み取るのではなく、まずmp3パラメータのURLにリダイレクトすることに気付きました(* AudioHandler.ashx?ID = ACHI-0001 * )そして* AudioHandler.ashx *の 'ID'を読んでください。この仮定は正しいですか?その場合、 'ID'の直前で'? 'を使うのは正しいです(' ID'パラメタの始まりを示すのではなく、 'mp3' paramの続きです)、私の答えは間違っています。 'context.Request.Url.AbsoluteUri'のコンテンツも提供できますか?問題を読み取るパラメータではないようですが、コードでは提供しませんでした。 –

+0

さて、MP3のコンテナとして.ashxを使用しようとしています。そして、AbsoluteURIの内容は 'http:// localhost:21614/AudioHandler.ashx?Id ='です。 – MEGAtive

関連する問題