1

私の ASP.NET WebForm アプリケーションには、単純なルールがあります。

routes.MapPageRoute("RouteSearchSimple", "search/{SearchText}", "~/SearchTicket.aspx");

「SearchText」パラメータとして、キリル文字を使用する必要があるため、次の URL を作成します。

string searchText = "текст";
string url = Page.GetRouteUrl("RouteSearchSimple",
            new
            {
                SearchText = searchText
            });

GetRouteUrl は searchText 値を自動的にエンコードし、結果として url = /search/%D1%82%D0%B5%D0%BA%D1%81%D1%82

しかし、私は必要です -> /search/текст

Page.GetRouteUrl 関数で取得するにはどうすればよいですか。

どうもありがとう!

4

3 に答える 3

0

最も簡単な解決策は、UrlDecodeメソッドでデコードすることです:

  string searchText = "текст";
  string url = Page.GetRouteUrl("RouteSearchSimple",
            new
            {
                SearchText = searchText
            });
  string decodedUrl = Server.UrlDecode(url); // => /search/текст
于 2013-10-14T07:34:29.383 に答える