.net 中文傳參(比較實用)
阿新 • • 發佈:2019-01-28
一般有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( "中華人明共和國 ")); //建議使用
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( "中華人明共和國 ")); //建議使用