2009年5月20日 星期三

利用QueryString傳遞中文字參數時,接收頁程式收到的是亂碼

一般在兩個頁面ASPX之間想要傳遞參數,利用QueryString是最普遍的作法,如果傳遞的參數是英文或數字都沒有問題(main.aspx?description=ABC123),可是如果傳的是帶有中文字的參數時(main.aspx?description=測試),URL上的顯示一切正常,但在SERVER端接收參數時,收下的卻可能是亂碼(測??)。

您試試看用 Server.UrlEncode

//2.在接收傳值的網頁的Page_Load
Dpt = HttpUtility.UrlDecode(Request.QueryString["Dpt"].ToString(),System.Text.Encoding.UTF8);
Server.UrlEncode();

網頁1寫
Response.Redirect("WebForm2.aspx?id=" + Server.UrlEncode("中文"));

網頁2的Page_Load寫
Label4.Text = Request.QueryString["id"];

沒有留言:

張貼留言