ASP.NET クエリ文字列でのプラス記号の処理
C# および ASP.NET を使用する場合、クエリ文字列にプラス記号 ( ) を含むパラメーターを渡すと、プラス記号が誤解されることがよくあるため、問題が発生する可能性があります。 この記事では、これらの状況に正しく対処する方法について説明します。
この問題は、クエリ文字列の処理方法に起因します。 通常、プラス記号はスペースを表します。 したがって、サーバーがクエリ文字列をデコードするときに、プラス記号がスペースに置き換えられ、意図したパラメータ値が変更される可能性があります。 解決策は、URL エンコードを使用することです。
これがイラストです:
http://www.example.com/search?q=foo bar
(サーバーはこれを「foo bar」と解釈する可能性があります)http://www.example.com/search?q=foo+bar
(+
はプラス記号の URL エンコード表現であり、正しく解釈されることが保証されます。)プラス記号の元の意味を維持するには、パラメータをクエリ文字列に追加する前に URL エンコードします。 JavaScript では、encodeURIComponent()
:
<code class="language-javascript">let encodedParameter = encodeURIComponent("foo+bar"); let encodedURL = "http://www.example.com/search?q=" + encodedParameter;</code>
この単純なエンコード手順により、プラス記号が正しく送信およびデコードされ、パラメータ データの整合性が維持されます。 適切な URL エンコードを使用すると、ASP.NET アプリケーションでプラス記号を含むパラメーターを確実に処理できます。
以上がASP.NET クエリ文字列でプラス記号 ( ) を保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。