首页 新闻 会员 周边

.net中MVC与layui数据表格应用问题

0
悬赏园豆:10 [已解决问题] 解决于 2018-06-15 13:48

MVC中
Controller代码

public class LogManagerController : Controller
    {
        public ActionResult Index(string logType, string requestType, string ip, DateTime? startTime, DateTime? endTime, string pIndex, string pSize)
        {
            int pageIndex=1;
            int pageSize=10;
            if (!string.IsNullOrEmpty(pIndex))
            {
                pageIndex = int.Parse(pIndex);
            }
            if (!string.IsNullOrEmpty(pSize))
            {
                pageSize = int.Parse(pSize);
            }
            #region 设置时间默认值
            if (startTime == null)
            {
                startTime = DateTime.Now.AddDays(-10);
            }
            if (endTime == null)
            {
                endTime = DateTime.Now;
            }
            #endregion
            #region 设置查询条件
            int? logT = null;
            if (!string.IsNullOrEmpty(logType))
            {
                logT = int.Parse(logType);
            }
            int? requestT = null;
            if (!string.IsNullOrEmpty(requestType))
            {
                requestT = int.Parse(requestType);
            }
            #endregion
            var result = QueryLogsByCondition(null, logT, requestT, ip, null, null, null, null, null, null, null, (DateTime)startTime, (DateTime)endTime, pageIndex, pageSize).Data;
            var list = result.List;
            EntityDataCreate data = new EntityDataCreate(list);    //layui接口返回的数据格式
            //return Json(data, JsonRequestBehavior.AllowGet);   //输出符合{"code":0,"msg":"","count":10,"data":[{"id":10000,"username":"user-0"} ,{"id":10001,"username":"user-1"}...]
            return View(data);
        }

View中基本的layui前端代码

<script src="~/layui/layui.js"></script>
<table id="demo" lay-filter="test"></table>

<script>
    layui.use('table', function () {
        var table = layui.table;

        //测试用
        table.render({
            elem: '#demo'
          , height: 315
          , url: '/LogManager/Index/' //数据接口
          , page: true //开启分页
          , cols: [[ //表头
            { field: 'logType', title: '日志类型', sort: true, fixed: 'left' }
            , { field: 'requestType', title: '请求类型' }
          ]]
        });

    });
</script>

我就是想知道,在后端代码中(即controller),到底是return Json(data, JsonRequestBehavior.AllowGet)还是return View(data)?
现在如果是return Json,页面则直接输出{"code":0,"msg":"","count":10,"data":[{"id":10000,"username":"user-0"} ,{"id":10001,"username":"user-1"}...]
如果是return View(data),要么是“数据接口请求异常”,要么就直接是空白页!!!
return View(data)传数据给前端时,到底要不要传字典(例@model Mvc.Models.AdminModel.LogModel,现在传字典就“数据接口请求异常”)?如果要传,该怎么传?
本人小白,望各位大神不吝赐教!!!在此先谢谢了!!!

Edward華的主页 Edward華 | 初学一级 | 园豆:143
提问于:2018-06-15 11:24
< >
分享
最佳答案
0

return json对象是对的,你要看LayUI需要的是什么类型的json结构的参数;下面是Layui数据表格需要你后台返回的json参数结构(当然你也可以直接vie(data)返回,但是就需要你通过@model的形式构建静态表格,通过LayUI的静态表格转换动态表格)

response: {

 statusName: 'status' //数据状态的字段名称,默认:code

 ,statusCode: 200 //成功的状态码,默认:0

 ,msgName: 'hint' //状态信息的字段名称,默认:msg

 ,countName: 'total' //数据总数的字段名称,默认:count

 ,dataName: 'rows' //数据列表的字段名称,默认:data

}

文档地址:http://www.layui.com/doc/modules/table.html

收获园豆:10
菜鸟本人 | 初学一级 |园豆:196 | 2018-06-15 12:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册