2011-06-23 3 views
0

現在、ASP.net C#プロジェクトを作成中です。 URLには空白が含まれる場合があります。 http://www.mydomain.com/my download/index.htmのように見えます。文字列内のスペースを置き換えて、http://www.mydomain.com/my%25download/index.htmのように見えます。電子メールにURLを追加すると、アクセス時にASP.NET例外が表示される

電子メールは問題なくASP.netサイトから送信されますが、電子メール内のリンクをクリックすると、ASP.net Webページにアクセスしていないのにエラーが表示されます。表示されるエラーは、「潜在的に危険なRequest.Path値がクライアントから検出されました(%)」です。

ASP.netのWebページにアクセスしていないときに、ASP.netエラーをどのように表示しているのか分かりません。どうすればこの問題を解決できますか。

答えて

1

スペースは%20でエンコードされ、%25ではエンコードされません。 %25%文字なので、サンプルURLは実際には(復号後に)http://www.mydomain.com/my%download/index.htmです。これがASP.NETが不平を言っていることです。

あなたは(string.Replace()または類似の)手動でそれらのURLをコードしている場合は、ページのServerプロパティとしてアクセスSystem.Web.HttpServerUtilityクラスのUrlEncode方法を、使用したほうが良いと思います。

+1

これも私の最初の考えでした。 @Boardyこれがあなたの問題を解決していない場合は、あなたが得ているASP.netエラーでできるだけ多くの情報であなたの質問を更新してください。 – pseudocoder

+0

助けてくれてありがとう。私が%20を代わりに%25を使用していたためです。 %20に変更するとうまく動作します。今はちょっと愚かな気がする。もう一度ありがとう – Boardy

+0

@Boardy:私はそれが助けてうれしいです。私たちは皆、愚かな過ちを犯す。 –

関連する問題