求一个.net结合jquery json 的简单的例子 不要太复杂 只需要 .net后台怎么实现成json数组 然后jquery,怎么把json解析, 感激不尽
解决方案 »
- 如何判断鼠标放在了表格的竖线上?
- 【JS问题】
- 求正则表达式,长度最多10位,允许3位小数。
- 在Repeater里怎么触发DropDownList的SelectedIndexChanged事件的问题
- 指定的转换无效(内附代码)
- 水晶报表初次显示一切正常,但空闲(不做任何操作)一段时间后,再点工具条上任何一个按钮如打印,导出,翻页,就会出现"水晶报表加载失败"的提示
- Response.Redirect("中文文件名")时出错,怎么解决?
- 如何获取图书信息
- 讨论:APSX页面之间能否传递一个对象?
- 俺找到的一个很不错的.net技术论坛!~~~~~~~~~~~~
- oralce sqlserver like
- 求问网站安全问题 关于CS代码编写的安全性...
<%@ WebHandler Language="C#" Class="Handler" %>using System;
using System.Web;
using System.Collections.Generic;
using System.Text;public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
List<User> list = new List<User>();
User u1 = new User("张三", 10);
User u2 = new User("李四", 100);
list.Add(u1); list.Add(u2);
context.Response.Write(ObjectToJson("user", list));
context.Response.End();
}
public bool IsReusable {
get {
return false;
}
} public class User
{
public User()
{
}
public User(string userName,int userAge)
{
this.Name = userName;
this.Age = userAge;
}
private string name; public string Name
{
get { return name; }
set { name = value; }
}
private int age; public int Age
{
get { return age; }
set { age = value; }
}
}
#region DataTableToJson
public string DataTableToJson(string jsonName, System.Data.DataTable dt)
{
StringBuilder Json = new StringBuilder();
Json.Append("{\"" + jsonName + "\":[");
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++)
{
Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\"");
if (j < dt.Columns.Count - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < dt.Rows.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]}");
return Json.ToString();
}
#endregion #region ObjectToJson
public string ObjectToJson<T>(string jsonName, IList<T> IL)
{
StringBuilder Json = new StringBuilder();
Json.Append("{\"" + jsonName + "\":[");
if (IL.Count > 0)
{
for (int i = 0; i < IL.Count; i++)
{
T obj = Activator.CreateInstance<T>();
Type type = obj.GetType();
System.Reflection.PropertyInfo[] pis = type.GetProperties();
Json.Append("{");
for (int j = 0; j < pis.Length; j++)
{
Json.Append("\"" + pis[j].Name.ToString() + "\":\"" + pis[j].GetValue(IL[i], null) + "\"");
if (j < pis.Length - 1)
{
Json.Append(",");
}
}
Json.Append("}");
if (i < IL.Count - 1)
{
Json.Append(",");
}
}
}
Json.Append("]}");
return Json.ToString();
}
#endregion
}
<script>
jQuery(function(){
$.ajax({
url: "Handler.ashx",
dataType: "json",
success: function(data){
$.each(data.user, function(i) {
alert("Name:" +data.user[i].Name +" Age:"+data.user[i].Age);
});
}
});
});
</script>list to json .
jquery .
public class JSonTest1 : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
JavaScriptSerializer jss = new JavaScriptSerializer();
Person[] ps = new Person[] { new Person() { Name = "tom", Age = 30 }, new Person() { Name = "jim", Age = 50 } };
string json = jss.Serialize(ps);
//string json = jss.Serialize(new string[]{"核力量","任大炮"});
//string json = jss.Serialize(new Person() { Name="tom",Age=30 });
context.Response.Write(json);
//context.Response.Write("Hello World");
} public bool IsReusable
{
get
{
return false;
}
}
} public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
<script src="../js/jquery-1.4.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$.post("JSonTest1.ashx", function(data, status) {
var person = $.parseJSON(data);
alert(person[0].Name);
});
});
</script>