Json对象的构造及传递
来源:互联网 发布:公司网络屏蔽了视频 编辑:程序博客网 时间:2024/06/06 03:13
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>AutoComplate</title>
<script type="text/javascript" src="js/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
<link rel="Stylesheet" href="js/jquery.autocomplete.css" />
<script type="text/javascript">
$(function () {
$("#autocomplete").autocomplete("Handler.ashx", {
minChars: 0,
max:10,
width: 200,
scroll: false,
scrollHeight: 500,
//此处为传递参数
extraParams: { v: function () { return $('#autocomplete').val(); } ,type:'UserInfo' },
//需要把data转换成json数据格式
parse: function(data) {
return $.map(eval(data), function(row) {
return {
data: row,
value: row.U_Name,
result: row.U_Name + " <" + row.Sex + "> "+" <" + row.Email + "> "
}
});
},
formatItem: function(data, i, total) {
return "<div style='float:left'>"+data.U_Name+" "+data.Sex+"</div>"
},
formatMatch: function(data, i, total) {
return data.name;
},
formatResult: function(data, value) {
return data.name;
}
}).result(function(event, data, formatted) {
$("#temp_id").val(data.Uid);
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<%--<div>
<input id="autocomplete" />
<input id="temp_id" />
</div>--%>
<div>
<asp:TextBox ID="autocomplete" runat="server"></asp:TextBox>
<asp:TextBox ID="temp_id" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
using System;
using System.Web;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
using System.Text;
public class Handler : IHttpHandler
{
public bool IsReusable
{
get
{
return false;
}
}
public void ProcessRequest(HttpContext context)
{
SqlDataReader dr;
string key = context.Request["v"];
context.Response.ContentType = "text/plain";
SqlConnection conn = new SqlConnection(ConfigurationManager.AppSettings["DataBaseConnection"]);
conn.Open();
string sqlstr = "select [Uid] ,[U_Name] ,[Sex] ,[Email] from [UserInfo] WHERE U_Name LIKE '%" + key + "%' OR Sex LIKE '%" + key + "%' ";
//string sqlstr = "select [Uid] ,[U_Name] ,[Sex] ,[Email] from [UserInfo] ";
SqlCommand comm = new SqlCommand(sqlstr, conn);
dr = comm.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
conn.Close();
//if (dt.Rows.Count > 0)
// context.Response.Write(DataTableToJson(dt));
//else
// return;
context.Response.Write(DataTableToJson(dt));
}
private string DataTableToJson(DataTable dt)
{
StringBuilder Json = new StringBuilder();
Json.Append("[");
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
Json.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
Type type = dt.Rows[i][j].GetType();
Json.Append(dt.Columns[j].ColumnName.ToString() + ":" + StringFormat(dt.Rows[i][j].ToString().Trim()));
if (j < dt.Columns.Count - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < dt.Rows.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]");
return Json.ToString();
}
/// <summary>
/// 格式化字符型
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
private static string StringFormat(string str)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
char c = str.ToCharArray()[i];
switch (c)
{
case '\"':
sb.Append("\\\""); break;
case '\\':
sb.Append("\\\\"); break;
case '/':
sb.Append("\\/"); break;
case '\b':
sb.Append("\\b"); break;
case '\f':
sb.Append("\\f"); break;
case '\n':
sb.Append("\\n"); break;
case '\r':
sb.Append("\\r"); break;
case '\t':
sb.Append("\\t"); break;
default:
sb.Append(c); break;
}
}
return "\"" + sb.ToString() + "\"";
}
}
- Json对象的构造及传递
- 对象的引用及传递
- json对象的构造和接收
- struts2 json传递对象
- struts2 json传递对象
- struts2 json传递对象
- struts2 json传递对象
- JSON对象传递
- 异常对象的传递与复制构造函数
- spring mvc 传递的对象 无参构造函数
- new创建对象的如何传递构造参数-c++
- 方法参数传递及方法和构造方法的重载
- json字符串构造为对象
- jquery与后台交互,传递json对象的使用方法
- java servlet使用jquery 的ajax交互 传递json对象
- 用ajax传递json对象数组的方法
- Gson处理前端传递过来的Json对象数组
- JSON和String对象的转化、在js中的传递
- 第五周任务一(1,2)
- Android TabHost的标签放在底部,已写成框架,继承即可
- 2012-03-19
- POJ 2001 (tire)
- TDD和FDD之间的区别(详细)
- Json对象的构造及传递
- linux中断之下半部
- 解析Axis客户端响应速度慢
- 建造者模式(Builder Pattern)
- 常见几种排序总结
- 第四周任务4(工资涨100元后排序)
- 经典小程序
- POJ1077
- 帮助你有效处理日期相关功能的Javascript类库 - XDate