详解mvc使用JsonResult返回Json数据

作者:袖梨 2022-06-25

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
 

以上是在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
 
 
 

显示结果:

相关文章

精彩推荐