0

ASP.NET のクエリ文字列から特殊な文字を理解しようとしています。他のすべてのブラウザーでは、これは完全に機能mysite.com?s=smørします。

私は解決策を高低で検索し、約を読みましServer.UrlEncode()たが、次のようにServer.UrlEncode()書いています: sm%ef%bf%bdr ユーザーにとっても読むのがあまり楽しいものではありません;-)

ÆØÅ をページのどこに書いても完璧に機能するので、何らかの形でクエリ文字列からのものであるに違いありません。

私のコードは次のとおりです。

@* Check the searchterm querystring for null or empty value *@
if (HttpContext.Current.Request.QueryString["s"] != null && !string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["s"]))
{        
    string searchTerm = Server.UrlEncode(HttpContext.Current.Request.QueryString["s"]);        
    <span>@Server.UrlDecode(searchTerm)</span>
}

それで、誰もこれを解決する方法を知っていますか?

前もって感謝します。

編集

動作するこのようなクイックフィックス/ハックを作成しました:

string rawUrl = Server.UrlDecode(HttpContext.Current.Request.RawUrl);
string searchTerm = rawUrl.Substring(rawUrl.IndexOf('=') + 1);

綺麗じゃないけど(-_-;)

4

0 に答える 0