日期:2014-05-18  浏览次数:20569 次

弹出新页传值的问题
弹出新页面传值的语句如下:
this.Page.RegisterStartupScript("bb", "<script>window.showModelessDialog('BillHR.aspx?User=" + Request.QueryString["User"].ToString() + "&Random=" + Request.QueryString["Random"].ToString() + "','window','dialogWidth:800px;dialogHeight:600px;center: yes; help: no;status:no');</script>");
在这句中,如果"User"传递的值为中文,那在新页面BillHR.aspx接收这个值就成为"乱码"(不知道是什么东东)了
但如果不是弹出,而是使用Response.Redirect这个方法的话,那传的值又是正常的
这是什么原因呢??

------解决方案--------------------
Server.UrlEncode()
接收之后
Server.UrlDecode
------解决方案--------------------
C# code

Server.UrlEncode 
Response.Redirect("WebForm.aspx?id="+Server.UrlEncode("漢字參數")); 

取得時用Server.UrlDecode 
str = Server.UrlDecode(Request.Params["ID"]).ToString();

------解决方案--------------------
探讨
Server.UrlEncode()
接收之后
Server.UrlDecode

------解决方案--------------------
传的时候加的编码Server.UrlEncode(Request.QueryString["User"]) 
接收之后再解码 Server.UrlDecode(Request.QueryString["User"])