controller 中定义以下方法:
代码如下 | 复制代码 |
publicJsonResult UpdateSingle(intid,stringactionName,stringactionValue)
{
var res =newJsonResult();
//var value = "actionValue";
//db.ContextOptions.ProxyCreationEnabled = false;
var list = (from aindb.Articles
selectnew
{
name = a.ArtTitle,
yy = a.ArtPublishTime
}).Take(5);
//记得这里要select new 否则会报错:序列化类型 System.Data.Entity.DynamicProxies XXXXX 的对象时检测到循环引用。
//不select new 也行的加上这句 //db.ContextOptions.ProxyCreationEnabled = false;
res.Data = list;//返回列表
var name ="小华";
var age ="12";
var name1 ="小华";
var age1 ="12";
res.Data =newobject[] {new{ name, age },new{ name1, age1 } };//返回一个自定义的object数组
var person =new{ Name ="小明", Age = 22, Sex ="男"};
res.Data = person;//返回单个对象;
res.Data ="这是个字符串";//返回一个字符串,意义不大;
res.JsonRequestBehavior = JsonRequestBehavior.AllowGet;//允许使用GET方式获取,否则用GET获取是会报错。
returnres;
}
|
页面调用:
代码如下 | 复制代码 |
javascript:void(0);"onclick="javascript:upclick(this);">Click Me
functionupclick(o) {
varobj = $(o);
alert(obj);
$.ajax({
url:"/Articles/UpdateSingle?ran="+ Math.random(),
type:"GET",
dataType:"json",
data: { id: obj.attr("id"), actionName: obj.attr("actionName"), actionValue: obj.attr("actionValue") },
success:function(data) {
// if (data.result == "True") {
// alert("修改成功!");
// }
// if (obj.attr("actionName") == "ArtVerify") {
// }
$(o).html(data[0].name);
obj.attr("actionValue", data[0].result);
}
})
}
|
以上是在mvc中使用,在webform中怎么使用呢?
在webform中要引用Newtonsoft.Json.dll;
当然你也可以自己拼接字符串。
代码如下 | 复制代码 |
protectedvoidPage_Load(objectsender, EventArgs e)
{
var customer =newcustomer { name ="李华", sex ="男"};
var customer1 =newcustomer { name ="小芳", sex ="女"};
var li =newList
li.Add(customer);
li.Add(customer1);
var list = Newtonsoft.Json.JavaScriptConvert.SerializeObject(li);
var tt ="[{"name":"李华","sex":"男"},{"name":"小芳","sex":"女"}]";
//new Newtonsoft.Json.JsonSerializer()..(customer);
Response.Write(tt);
Response.End();
}
publicclasscustomer
{
publicstringname {get;set; }
publicstringsex {get;set; }
}
|
页面方法:
代码如下 | 复制代码 |
ggg
functiongetJsonData() {
varstr ="";
$.getJSON("/Json.aspx",function(data) {
vartt ="";
$.each(data,function(k, v) {
$.each(v,function(kk, vv) {
tt += kk +":"+ vv +"
"; });
});
$("#dataDiv").html(tt);
});
}
|
显示结果: