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);
綺麗じゃないけど(-_-;)