1. 程式人生 > >.net 中文傳參(比較實用)

.net 中文傳參(比較實用)

一般有3種方法:
1.設定web.config檔案

<system.web>  
......  
<globalization   requestEncoding= "gb2312 "   responseEncoding= "gb2312 "   culture= "zh-CN "   fileEncoding= "gb2312 "   />  
......  
</system.web>  
2.傳遞中文之前,將要傳遞的中文引數進行編碼,在接收時再進行解碼。  
> >   進行傳遞  
string   Name   =   "中文引數 ";  
Response.Redirect( "B.aspx?Name= "+Server.UrlEncode(Name));  
> >   進行接收  
string   Name   =   Request.QueryString[ "Name "];  
Response.Write(Server.UrlDecode(Name));  

3.如果是從   .HTML   檔案向   .Aspx   檔案進行傳遞中文引數的話(即不從後臺用   Redirect()方法進行   Url   轉換)。一樣要將傳遞的中文引數進行編碼,在接收時再進行解碼。  
> >   進行傳遞  
<script   language= "JavaScript ">  
function   GoUrl()  
{  
var   Name   =   "中文引數 ";  
location.href   =   "B.aspx?Name= "+escape(Name);  
}  
</script>  
<body   onclick= "GoUrl() ">  
> >   進行接收  
string   Name   =   Request.QueryString[ "Name "];  
Response.Write(Server.UrlDecode(Name));  

一般來說。設定web.config檔案就可以了。但是如果你用   JavaScript   呼叫   webservice   方法的話(往webservice裡面傳遞中文引數)。設定   web.config   檔案好象無效。  
或用
Response.Redirect( "test1.aspx?111= "+System.Web.HttpUtility.UrlEncode( "中華人明共和國 "));     //建議使用