C# url中文参数值js传递后台接收方法
2015-09-23 09:25
537 查看
今天项目中碰到一个问题,需要将用户在查询页面选择的查询条件传入到导出页面进行数据导出,传入给导出页面的参数内容如下:
对于这种包含中文的问题解决,主要有如下几种解决方式:
1、将web.config配置文件globalization节点的编码方式改成gb2312,如下:
以上这种方式因为是全局的,如果项目中有其它需求,可能无法达到预期效果,如javascript 调用webservices 。
2、单独修改aspx页面参数(这种方式没有试过,不知是否有效),如下:
3、传递和接收URL在后台.aspx代码中处理
4、在页面中用js进行url请求,后台进行处理,这个就是我项目中需求的方式了,如下:
<script language="javascript" type="text/javascript"> var export_str=" AND IsRecover='已回收' AND AtFactory='A工厂'"; 'ComputerScrapExport.aspx?exportStr='+export_str+'' </script>
对于这种包含中文的问题解决,主要有如下几种解决方式:
1、将web.config配置文件globalization节点的编码方式改成gb2312,如下:
<system.web> <globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> </system.web>
以上这种方式因为是全局的,如果项目中有其它需求,可能无法达到预期效果,如javascript 调用webservices 。
2、单独修改aspx页面参数(这种方式没有试过,不知是否有效),如下:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
3、传递和接收URL在后台.aspx代码中处理
//请求URL中对中文编码 string Name = "中文参数"; Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)) ; //接收端进行解码 string Name = Request.QueryString["Name"]; Response.Write(Server.UrlDecode(Name)) ;
4、在页面中用js进行url请求,后台进行处理,这个就是我项目中需求的方式了,如下:
//先使用js中的escape() var export_str=escape(export_str); 'ComputerScrapExport.aspx?exportStr='+export_str+'' //接收页面后台接收方式,使用Server.UrlDecode() public string exportStr { get { return string.IsNullOrEmpty(Server.UrlDecode(Request.QueryString["exportStr"])) ? "" : Server.UrlDecode(Request.QueryString["exportStr"].ToString()); } }
相关文章推荐
- JavaScript中实现键值对的方法
- js 工作小记
- jsch
- js == 和 === 的不同 (两个等号 三个等号)
- js 计算输入框的字节数
- JS监听关闭浏览器事件
- 压缩JS代码
- Google Chrome调试js入门
- Google Chrome调试js入门
- JavaScript----函数深入理解
- JavaScript----数字转换字符串&字符串转发数字
- 掌握JS中的“this” (二)
- 掌握JS中的“this” (一)
- JSP使用Servlet作为控制器实现MVC模式实例详解
- JSP使用JDBC完成动态验证及采用MVC完成数据查询的方法
- jsp中checkbox用法详解
- JS实现同一个网页布局滑动门和TAB选项卡实例
- Javascript实现的简单右键菜单类
- JS实现漂亮的淡蓝色滑动门效果代码
- javaScript---灵活多变的动态添加标志