1. 程式人生 > >JS通過Url傳遞中文引數,c#獲取引數

JS通過Url傳遞中文引數,c#獲取引數

最近遇到一個JS通過Url傳遞中文引數,c#獲取中文引數亂碼的問題。解決方法如下:

正確的方法是:

JS

var reqUrl = document.location + "?key=" + encodeURI(keyword);

C#

 string keyword = Server.UrlDecode(Page.Request.QueryString["key"]);

錯誤的方法:

JS

<span style="color:#ff0000;">var reqUrl = document.location + "?key=" + keyword;
</span>

C#

<span style="color:#ff0000;">string keyword = Page.Request.QueryString["key"];</span>

也就是說傳參時要編碼encodeURI,獲取引數時要解碼Server.UrlDecode。