首页 新闻 搜索 专区 学院

关于C#MVC bootstraptable接收json字符串

0
悬赏园豆:10 [已解决问题] 解决于 2017-05-09 17:46
<script type="text/javascript">
    //$(document).ready(function () {
    //    Fn_MenuClick("/Admin/quanxian", "权限管理");
    //})
    function Fn_MenuClick(url,name) {
        $(".pathName").html(name);
        $(".table").bootstrapTable({
            url: '/Admin/quanxian',   //"/Admin/GetUserList",
            data:xxoo.json,
            dataType: "json",
            title: name,
            columns: [{
                field: 'PrivilegeID',
                title: '权限ID'
            }, {
                field: 'PrivilegeName',
                title: '权限名称'
            }, {
                field: 'Level',
                title: '权限层级'
            }, {
                field: 'Type',
                title: '权限类别'
            }, {
                field: 'PrivilegeDescribe',
                title: '权限描述'
            }, {
                field: 'SortNo',
                title: '排序号'
            }, {
                field: 'operation',
                title: '操作',
                formatter: function (value, row, index) {
                    var s = '<a class = "save" data-toggle="modal" href="/Admin/TenantEdit" data-target="#modal">编辑</a>';
                    var d = '<a class = "remove" href="javascript:void(0)">删除</a>';
                    return s + ' ' + d;
                },
                events: 'operateEvents'
            }],
            pageSize: 15
        });

    }</script>
  public ActionResult quanxian()
        {
            XXOO xxoo = new XXOO();
         
            var model = SaasCommEntity.MPrivilege.ToList();

            var jsonModel = JsonConvert.SerializeObject(model);
            xxoo.json = jsonModel;
            //return Content(JsonConvert.SerializeObject(model));
            //return View(xxoo.json);
            return Content(xxoo.json);
            }
        }
    public class XXOO
    {
        public string json { get; set; }
    }

这是前台与后台代码,可是我就是获取不到啊,不知道问题在哪,求大神帮帮忙

问题补充:

后台的xxoo.json已经取代了json字符串,可是前台接收不到

姚刘乐的主页 姚刘乐 | 初学一级 | 园豆:70
提问于:2017-03-28 10:48
< >
分享
最佳答案
0

return Content(xxoo.json); 改为 return Content(xxoo.json, "application/json"); 试试

收获园豆:5
dudu | 高人七级 |园豆:37173 | 2017-03-28 11:36

不行啊,直接就是一堆字符串,是不是我的前台代码写的有问题啊

姚刘乐 | 园豆:70 (初学一级) | 2017-03-28 13:24
 public ActionResult quanxian()
        {
            XXOO xxoo = new XXOO();
            MPrivilege mp = new MPrivilege();
            var model = SaasCommEntity.MPrivilege.ToList();

            var jsonModel = JsonConvert.SerializeObject(model);
            xxoo.json = jsonModel;
            return View();
            //return Content(jsonModel);
            //return Content(xxoo.json, "application/json");
            }
        }
<script type="text/javascript">
  
    function Fn_MenuClick(actionUrl, name) {

        $(".sub-header").html(name);
        $(".table").bootstrapTable({
            url: "/Admin/quanxian",
            dataType: "json",
            title: name,
            columns: [{
                field: 'PrivilegeID',
                title: '权限ID'
            }, {
                field: 'PrivilegeName',
                title: '权限名称'
            }, {
                field: 'Level',
                title: '权限层级'
            }, {
                field: 'Type',
                title: '权限类别'
            }, {
                field: 'PrivilegeDescribe',
                title: '权限描述'
            }, {
                field: 'SortNo',
                title: '排序号'
            }, {
                field: 'operation',
                title: '操作',
                formatter: function (value, row, index) {
                    var s = '<a class = "save" data-toggle="modal" href="/Admin/TenantEdit" data-target="#modal">编辑</a>';
                    var d = '<a class = "remove" href="javascript:void(0)">删除</a>';
                    return s + ' ' + d;
                },
                events: 'operateEvents'
            }],
            pageSize: 15
        });

    }</script>

现在后台返回view,是不是我前台的代码写的有问题啊,数据源不是靠url获取的吗,用写data:‘’之类的吗

姚刘乐 | 园豆:70 (初学一级) | 2017-03-28 13:30
其他回答(2)
0

看请求报文

吴瑞祥 | 园豆:29187 (高人七级) | 2017-03-28 11:35

- -大神啊,不会看啊,我感觉是我的前台代码写错了

支持(0) 反对(0) 姚刘乐 | 园豆:70 (初学一级) | 2017-03-28 13:25

@姚刘乐: 先学会看报文吧.做程序员第一个要学的事情就是调试.

在谷歌浏览器上按f12点network,就能看到你的请求报文.和响应.

你出了错应该能看到异常.

或者百度下谷歌浏览器前端调试.学学一些技巧.

支持(0) 反对(0) 吴瑞祥 | 园豆:29187 (高人七级) | 2017-03-28 14:44

@吴瑞祥: 哦哦,这个就是报文哈,这个会看这个会看,没报错,后台断点调试也没错,json字符串也是有的,可能就是前台接受的方法不对

支持(0) 反对(0) 姚刘乐 | 园豆:70 (初学一级) | 2017-03-28 14:47

@姚刘乐: 那就查js框架的文档.

看他要的数据结构和你给的有哪些差异

支持(0) 反对(0) 吴瑞祥 | 园豆:29187 (高人七级) | 2017-03-28 15:02
0

1.在浏览器调试方法,看返回的数据是否是json格式

2.json数据必须含有total和rows数组

收获园豆:5
ldybyz | 园豆:138 (初学一级) | 2017-03-28 12:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册