ASP.NET クエリ文字列でのプラス記号の処理
C# および ASP.NET を使用する場合、URL クエリ文字列を介してパラメーターを渡すと、特にパラメーターにプラス ( ) 記号が含まれている場合に問題が発生する可能性があります。 プラス記号はスペースとして解釈されるため、失われるか誤解される可能性があります。
これは、プラス記号が標準の URL エンコードで空白区切り文字として機能するために発生します。プラス記号が正しく送受信されるようにするには、URL エンコードする必要があります。 URL エンコードされたプラス記号に相当するものは +
.
解決策は、クエリ文字列を送信する前に、
のすべてのインスタンスを +
に置き換えることです。 ASP.NET では、Server.UrlEncode
メソッドがこれを実現する便利な方法を提供します。
Server.UrlEncode
を使用して、プラス記号を含むクエリ文字列パラメータを正しくエンコードする方法を次に示します。
<code class="language-csharp">string encodedValue = Server.UrlEncode(Request.QueryString["new"]); // Encodes '+' to '%2B'</code>
このコード スニペットは、「新しい」クエリ文字列パラメーターの値を取得し、Server.UrlEncode
を使用してエンコードし、エンコードされた結果を encodedValue
に保存します。 これにより、プラス記号が適切に表現され、データ損失が回避されます。 リクエストをサーバーに送信する前に、必ずこのエンコードを実行してください。 これにより、サーバーがパラメーター値内のプラス記号をリテラル文字として正しく解釈することが保証されます。
以上がASP.NET クエリ文字列でプラス記号 ( ) を適切にエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。