これは、MS がUrlEncode()
「URL エンコーディングにより、すべてのブラウザが URL 文字列のテキストを正しく送信できるようにすること」について述べていることです。クエスチョン マーク (?)、アンパサンド (&)、スラッシュ マーク (/)、およびスペースなどの文字は、一部のブラウザーで切り捨てられたり、破損したりする場合があります。その結果、これらの文字はタグまたはクエリ文字列でエンコードする必要があり、ブラウザが要求文字列で文字列を再送信できます。
また、クエリ パラメータのみをエンコードする必要があります。そうしないと、結果に問題が発生します。たとえば、このリンクがある場合
http://www.contoso.com/articles.aspx?title=ASP.NET+Examples
そして、全体をエンコードすると、次のようになります
http%3a%2f%2fwww.contoso.com%2farticles.aspx%3ftitle%3dASP.NET%2bExamples
詳細については、http://msdn.microsoft.com/en-us/library/zttxte6w.aspxを参照してください。
バージョン 4.0 に付属する ASP.net ルーティングを使用します。サンプル コードは次のとおりですhttp://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4- 0-series.aspx . リンクを非常に簡単に操作できます。
更新: Microsoft は IIS7 にいくつかの変更を加えたため、ルーティングで問題が発生する可能性があります。そのため、アプリケーション プールの「マネージド パイプライン モード」の設定を統合からクラシックに変更してみてください。