在asp.net页面中传递中文参数

1.设置web.config文件。  
  <system.web>    
  ......    
  <globalization   requestEncoding="gb2312"   responseEncoding="gb2312"   culture="zh-CN"   fileEncoding="gb2312"   />    
  ......    
  </system.web>    
     
  或者:  
  aspx文件中:  
  <meta   http-equiv="Content-Type"   content="text/html;   charset=gb2312">  
   
  2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。    
  >>   进行传递    
  string   Name   =   "中文参数";    
  Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));    
   
  >>   进行接收    
  string   Name   =   Request.QueryString["Name"];    
  Response.Write(Server.UrlDecode(Name));    
  或者:  
     
  NavigateURL='<%#   "WebForm2.aspx?Singer="   +   HttpUtility.UrlEncode("中国人",   System.Text.Encoding.GetEncoding("GB2312"))   %>'  
   
   
  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   文件好象无效。    
   
  ————————————————————  
  在html中实现编解码:  
   
  <script   language="javascript">  
  function   openUrl(src)  
  {  
      var   strUrl=escape(src);  
      window.open(strUrl);  
  }  
     
   
  function   change_url(src)  
  {  
    document.location.href=escape(src);  
  }  
     
  </script>      
     
  在新窗口保存  
  <a   href='javascript:openUrl("css/合同.doc");'   >交合同</a>  
     
     
  当前位置保存,无闪烁。  
  <a   href="#"   onclick=BLOCKED   SCRIPTchange_url("css/合同.doc")>合同</a>  
     
  注意:路径中的斜线是:“/”,而不是“\”。 
posted @ 2007-05-12 00:32  Juniy  阅读(412)  评论(0编辑  收藏  举报