博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS调用ashx文件传递中文参数取不到值的解决方案
阅读量:6446 次
发布时间:2019-06-23

本文共 2069 字,大约阅读时间需要 6 分钟。

实现在text中输入数据,areatext里动态搜索

 

ExpandedBlockStart.gif
View Code
        <th 
class=
"
t_r
">
                                            请选择公司:
                                        </th>
                                        <td width=
"
89%
" 
class=
"
kuang1
">
                                            <asp:TextBox ID=
"
txtKeyWord
" runat=
"
server
"></asp:TextBox>
                                            <span 
class=
"
red
">*</span><br />
                                            <select id=
"
txtCompanyList
" multiple=
"
multiple
" name=
"
D1
" οnclick=
"
CompanySelect()
"
                                                style=
"
width: 380px; height: 119px
">
                                                <option></option>
                                            </select>
                                        </td>

 

JS:

 

ExpandedBlockStart.gif
View Code
function BindCompanyList() {
            
var comapyname = $("#txtKeyWord").val();
            $("#txtCompanyList").html("");
            $.getJSON("GetCompanyList.ashx?companyname=" + escape(comapyname), 
null
function(json) {
                
if (json != 
null) {
                    $.each(json, 
function(i) { $("#txtCompanyList").append($("<option></option>").val(json[i].id).html(json[i].companyname)) });
                }
            });
        }
        
function CompanySelect() {
            
var Obj = document.getElementById("txtCompanyList");
            
if (document.getElementById("txtCompanyList").options.length != 0) {
                document.getElementById("txtKeyWord").value = Obj.options[Obj.selectedIndex].text;
            }
        }

 

ASHX:

 

ExpandedBlockStart.gif
View Code
        public 
void ProcessRequest(HttpContext context)
        {
            StringBuilder sb=
new StringBuilder();
            
if (context.Request.Params["companyname"] != 
null)
            {
                DataTable dt = 
null;
                string strcompanyname = context.Server.HtmlDecode(context.Request.Params["companyname"].ToString());
                
if (strcompanyname!="")
                {
                    dt = 
new BLL.CZL_CompanyInfo().GetList(" companyname like '%" + strcompanyname + "%'").Tables[0];
                }
                
else
                {
                    dt = 
new BLL.CZL_CompanyInfo().GetAllList().Tables[0];
                }
                
if (dt == 
null || dt.Rows.Count == 0)
                {
                    
return;
                }
                
else
                {
                    sb.Append("[");
                    
for (
int i = 0; i < dt.Rows.Count; i++)
                    {
                        
//
返回JOSN数据
                        sb.Append("{\"id\":\"" + dt.Rows[i]["id"].ToString() + "\",\"companyname\":\"" +Common.ProductAbout.ReturnStr(dt.Rows[i]["companyname"].ToString()) + "\"},");
                    }
                    sb.Remove(sb.Length - 1, 1);
                    sb.Append("]");
                }
            }
            context.Response.ContentType = "application/json";
            context.Response.ContentEncoding = Encoding.UTF8;
            context.Response.Write(sb.ToString());
        }

注意传递值的时候,js里用escape()对参数进行编码

取得的时候,.cs中用context.Server.HtmlDecode()进行对参数的解密

转载于:https://www.cnblogs.com/yinpeng186/archive/2011/09/30/2196726.html

你可能感兴趣的文章
[Eth]Mac/Phy/mdio/Rgmii
查看>>
C++中的函数指针和函数对象总结
查看>>
ELK学习总结(3-2)elk的过滤查询
查看>>
快速定位oracle故障-恩墨
查看>>
Redis可视化工具 Redis Desktop Manager
查看>>
Go基础系列:为select设置超时时间
查看>>
Android网络请求之OkHttp框架
查看>>
《Apache Kafka实战》读书笔记-调优Kafka集群
查看>>
小程序开发事项
查看>>
福利 | 2018各大技术大会资料汇总(可下载)
查看>>
寻找下一代CTO - 激发潜能把握成功!!
查看>>
用DELPHI 开发压缩、解压、自解压、加密
查看>>
Linux命令行得到系统IP
查看>>
SQL Server索引的维护 - 索引碎片、填充因子 <第三篇>
查看>>
python类型转换、数值操作(收藏)
查看>>
mysql delimiter
查看>>
关于C#静态构造函数的几点说明
查看>>
理解C# 4 dynamic(4) – 让人惊艳的Clay
查看>>
Spring Cloud Config 统一配置中心
查看>>
Java获取文本文件字符编码的两种方法
查看>>