专栏首页技术博客MVC JsonResult的使用

MVC JsonResult的使用

首先看一下我在控制器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仅一个参数即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)

      之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处。

    aehyok
  • C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)

      之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处。

    aehyok
  • Win8 连连看 第二季(1)

    思路如下:暂定游戏中图标有100个(10行10列),对每个小图标用用户控件进行展示(好处很多方便绑定数据,链接事件,实现动画效果等)。

    aehyok
  • codevs原创抄袭题 5960 信使

    题目描述 Description  •战争时期,前线有n个哨所,每个哨所可能会与其他若干个哨所之间有通信联系。信使负责在哨所之间传递信息,当然,这是要花费一定时...

    attack
  • Golang语言--布尔型和数值类型

    布尔类型 布尔类型是 bool。Go语言提供了内置的布尔值true和flase。Go语言支持标准的逻辑和比较操作。这些操作的结果都是布尔值。 布尔值和表达式可以...

    李海彬
  • Rock Health:从预测性分析走向个性化医疗

    大数据文摘
  • 主机常见噪音 的原因 及 降噪方法

    JNingWei
  • hadoop2.x源码编译

    转载请标明出处: http://blog.csdn.net/zwto1/article/details/50733753;

    chaplinthink
  • 大数据能修复医学吗?

    大数据文摘
  • app端微信支付(二) - 生成预付单

    前一篇文章的时序图中说了,app端调用微信支付必须先由后台调用微信后台生成预付单,再构建参数给手机端,而数据的构建要以xml形式,那么看看代码具体实现吧,代码已...

    风间影月

扫码关注云+社区

领取腾讯云代金券