MVC JsonResult的使用

简介: 首先看一下我在控制器Controller中的代码 public JsonResult SearchUnitByID(string ID) { Flow_StateUnitDefine unit = new Flow_StateUnitDefine(); unit = FlowAccessor.

首先看一下我在控制器Controller中的代码

        public JsonResult SearchUnitByID(string ID)
        {
            Flow_StateUnitDefine unit = new Flow_StateUnitDefine();
            unit = FlowAccessor.GetUnitByID(ID);
            return this.Json(unit);
        }

 

前端JS请求和返回的代码

 

    function OrgFocusedRowChanged(s, e) {
        var ID = s.GetRowKey(s.GetFocusedRowIndex());
        if (ID != null) {
            $.post("../Flow/SearchUnitByID?MenuID=" + getQueryStringRegExp('MenuID'),
                   { ID: s.GetRowKey(s.GetFocusedRowIndex()) },
                   function (data) {
                       txtState.SetValue(data.StateName);
                       txtUnit.SetValue(data.UnitName);
                       if (data.DataShowMeta == "null") {
                           memoData.SetValue("");
                       }
                       else {
                           memoData.SetValue(data.DataShowMeta);
                       }
                       txtID.SetValue(data.ID);
                       if (data.Type == "1") {
                           cboType.SetSelectedIndex(0);
                       }
                       else if (data.Type == "2") {
                           cboType.SetSelectedIndex(1);
                       }
                       else {
                           cboType.SetSelectedIndex(-1);
                       }
                   });
        }
        else {
            txtState.SetValue("");
            txtUnit.SetValue("");
            memoData.SetValue("");
            cboType.SetSelectedIndex(-1);
        }
    }

此时看一下前端Js中用的是Jquery中的post请求,那么在控制器中没什么特别的。

如果前端请求用的是get,那么控制器中要有相应的调整,代码如下:

        public JsonResult SearchUnitByID(string ID)
        {
            Flow_StateUnitDefine unit = new Flow_StateUnitDefine();
            unit = FlowAccessor.GetUnitByID(ID);
            return this.Json(unit, JsonRequestBehavior.AllowGet);
        }

可以看出在return时,this.Json多了一个参数,这就是要和前端是Get请求,还是Post请求相对应的。因为默认的情况下相当于Post请求,所以上面this.Json仅一个参数即可。

 

 

目录
相关文章
|
前端开发 .NET 数据格式
Asp.net MVC JsonResult 忽略属性
指定 JavaScriptSerializer 不序列化公共属性或公共字段。无法继承此类。 命名空间:  System.Web.Script.Serialization程序集:  System.
1018 0
|
JavaScript 前端开发 数据格式
jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
比如JsonResult中返回return Json(models);的models结构如下: models返回含有四个集合的序列,每个集合的序列中又包含一个子集合序列“Child”。 问题是如果我们使用Jquery的$.
1369 0
|
6月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
82 0
|
9月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
243 0
|
9月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
97 0