详解mvc使用JsonResult返回Json数据

controller 中定义以下方法:

public JsonResult UpdateSingle(int id, string actionName, string actionValue)
  {
   var res = new JsonResult();
   //var value = "actionValue";
   //db.ContextOptions.ProxyCreationEnabled = false;
   var list = (from a in db.Articles
      select new
      {
       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 = new object[] { 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获取是会报错。
   return res;
  } 

页面调用:

<a href="javascript:void(0);" onclick="javascript:upclick(this);">Click Me</a>
<script type="text/javascript">
 function upclick(o) {
  var obj = $(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);
   }
  })
 }
</script> 

以上是在mvc中使用,在webform中怎么使用呢?

在webform中要引用Newtonsoft.Json.dll;

当然你也可以自己拼接字符串。

protected void Page_Load(object sender, EventArgs e)
  {
   var customer = new customer { name = "李华", sex = "男" };
   var customer1 = new customer { name = "小芳", sex = "女" };
   var li = new List<customer>();
   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();
  } 

  public class customer
  {
   public string name { get; set; }
   public string sex { get; set; }
  } 

页面方法:

<p>
  <a href="javascript:void(0)" onclick="javascript:getJsonData();">GetJsonData</a>
 </p>
 <div id="dataDiv">
  ggg
 </div>
 <script type="text/javascript">
  function getJsonData() {
   var str = "";
   $.getJSON("/Json.aspx", function (data) {
    var tt = "";
    $.each(data, function (k, v) {
     $.each(v, function (kk, vv) {
      tt += kk + ":" + vv + "<br/>";
     });
    });
    $("#dataDiv").html(tt);
   });
  }
 </script> 

显示结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法

    问题背景: 在使用asp.net mvc 结合jquery esayui做一个系统,但是在使用使用this.json方法直接返回一个json对象,在列表中显示时发现datetime类型的数据在转为字符串是它默认转为Date(84923838332223)的格式,在经过查资料发现使用前端来解决这个问题的方法不少,但是我又发现在使用jquery easyui时,加载列表数据又不能对数据进行拦截,进行数据格式转换之后再加载,后来发现可以通过自定义JsonResult实现,认为这种方法比较可行,就开始研

  • 详解mvc使用JsonResult返回Json数据

    controller 中定义以下方法: public JsonResult UpdateSingle(int id, string actionName, string actionValue) { var res = new JsonResult(); //var value = "actionValue"; //db.ContextOptions.ProxyCreationEnabled = false; var list = (from a in db.Articles sele

  • 详解vue2.0模拟后台json数据

    最近在跟着做vue2.0以上版本的一个购物平台,在涉及到模拟后台数据交互的时候,视频里讲的是通过json-server这个插件和express,由于之前的配置都是在build/dev-server.js文件夹下,在vue2.0都没有了,全部整合到了build/webpack.dev.conf.js文件里,通过不断查阅资料后终于模拟成功. 1.首先 npm install vue-resource  --save安装vue-resourse,并且在页面上引用(--save 会把依赖包名称添加到 p

  • 详解iOS通过ASIHTTPRequest提交JSON数据

    先验知识--什么是ASIHTTPRequest? 使用iOS SDK中的HTTP网络请求API,相当的复杂,调用很繁琐,ASIHTTPRequest就是一个对CFNetwork API进行了封装,并且使用起来非常简单的一套API,用Objective-C编写,可以很好的应用在Mac OS X系统和iOS平台的应用程序中.ASIHTTPRequest适用于基本的HTTP请求,和基于REST的服务之间的交互. 上传JSON格式数据 首先给出主功能代码段,然后对代码进行详细解析: NSDictiona

  • 解决spring mvc 返回json数据到ajax报错parseerror问题

    最近使用ajax接收spring mvc传过来的json数据时总是出现parseerror的错误,错误源码如下: 前端: $.ajax({ type: 'POST', url: "groupFunctionEdit", dataType: 'json', contentType: "application/json", data: JSON.stringify(functiondata), success: function(data){ alert('数据加载成功

  • 详解JSON1:使用TSQL查询数据和更新JSON数据

    JSON是一个非常流行的,用于数据交换的数据格式,主要用于Web和移动应用程序中.JSON 使用键/值对(Key:Value pair)存储数据,并且表示嵌套键值对和数组两种复杂数据类型,仅仅使用逗号(引用Key)和中括号(引用数组元素),就能路由到指定的属性或成员,使用简单,功能强大.在SQL Server 2016版本中支持JSON格式,使用Unicode字符类型表示JSON数据,并能对JSON数据进行验证,查询和修改.推荐一款JSON验证和格式化的工具:json formatter. 一,

  • 详解SpringBoot 统一后端返回格式的方法

    目录 为什么要对SpringBoot返回统一的标准格式 定义返回标准格式 定义返回对象 定义状态码 统一返回格式 高级实现方式 接口异常问题 SpringBoot为什么需要全局异常处理器 如何实现全局异常处理器 体验效果 全局异常接入返回的标准格式 首先我们来看看为什么要返回统一的标准格式? 为什么要对SpringBoot返回统一的标准格式 在默认情况下,SpringBoot的返回格式常见的有三种: 第一种:返回 String @GetMapping("/hello") public

  • 详解C语言函数返回值解析

    详解C语言函数返回值解析 程序一: int main() { int *p; int i; int*fun(void); p=fun(); for(i=0;i<3;i++) { printf("%d\n",*p); p++; } return 0; }; int* fun(void) { static int str[]={1,2,3,4,5}; int*q=str; return q; } //不能正确返回 虽然str是在动态变量区,而该动态变量是局部的,函数结束时不保留的.

  • SpringMVC返回json数据的三种方式

    Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等. 1.第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew. 如:<bean

  • 详解NumPy中的线性关系与数据修剪压缩

    目录 摘要 一.用线性模型预测价格 二.趋势线 三.数组的修剪和压缩 四.阶乘 摘要 总结股票均线计算原理--线性关系,也是以后大数据处理的基础之一,NumPy的 linalg 包是专门用于线性代数计算的.作一个假设,就是一个价格可以根据N个之前的价格利用线性模型计算得出. 前一篇,在计算均线,指数均线时,分别计算了不同的权重,比如 和 都是按不同的计算方法来计算出相关的权重,一个股价可以用之前股价的线性组合表示出来,也即,这个股价等于之前的股价与各自的系数相乘后再做加和的结果,但是,这些系数是

  • 详解Python获取线程返回值的三种方式

    目录 方法一 方法二 方法三 最后的话 提到线程,你的大脑应该有这样的印象:我们可以控制它何时开始,却无法控制它何时结束,那么如何获取线程的返回值呢?今天就分享一下自己的一些做法. 方法一 使用全局变量的列表,来保存返回值 ret_values = [] def thread_func(*args):     ...     value = ...     ret_values.append(value) 选择列表的一个原因是:列表的 append() 方法是线程安全的,CPython 中,GI

随机推荐