打开相同的页面,如default.aspx?str=中国人,如果用response.redirect方式,所接受到的str的值不乱码,但用showModalDialog打开时,所接受到的str的值(中国人)就会乱码,这是怎么回事?
我的web.config文件,里面的设置是:<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
(请注意,不能将配置文件改为:<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>)
我的web.config文件,里面的设置是:<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
(请注意,不能将配置文件改为:<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>)
编码Server.UrlEncode()
解码
Server.UrlEncode()编码
Server.UrlDecode()解码
客户端是这样打开一个弹出窗口的:showModalDialog("default.aspx?str="+form1.textbox1.value)在弹出窗口的在page_load(服务器端)里面写:
label1.text=request("str")请各位告诉我,要如何做才能让str的值不会乱码?
<%=
Server.UrlEncode(需要编码的字符串)
%>
"function showdialog(){showModalDialog(\"default.aspx?str=\"+ Server.UrlEncode(textbox1.Text) +"\"})",true);客户端调showdialog()打开网页对话框对话框中服务端取值str = Server.UrlDecode(Request.QueryString["str"].ToString());
public string MyStr
{
get
{
return Server.UrlEncode(textbox1.Text)
}
}
客户端:
showModalDialog("default.aspx?str="+ <%= MyStr %>)对话框中服务端取值同上
str = Server.UrlDecode(Request.QueryString["str"].ToString());
分不够可以加.
Response.Charset = "GB2312";