MVC中返回json数据的两种方式

MVC里面如果直接将数据返回到前端页面,我们常用的方式就是用return view();

那么我不想直接用razor语法,毕竟razor这玩意儿实在是太难记了,还不如写ajax对接来得舒服不是

那么我们可以这么做

1.定义ActionResult,返回json,标记属性可以采用HttpPost,也可以是用HttpGet,按自己的需求来使用

 public ActionResult UpdateDownloadInJson(string deviceNames,string programNames)
        {
            string[] deviceName = deviceNames.Split(',');
            string[] programName = programNames.Split(',');
            List<DownloadViewModel> DownloadViewModelList = new List<DownloadViewModel>();
            foreach (string tempDeviceName in deviceName)
            {
                var _deviceId=deviceInfoService.FindSingle<DeviceInfo>(r => r.DeviceName == tempDeviceName).Id;
                foreach (string tempProgramName in programName)
                {
                    int _programId = publishDetailService.Set<ProgramInfo>().Where(r => r.ProgramName == tempProgramName).FirstOrDefault().Id;
                    var progress= publishDetailService.Set<DeviceMaterial>().Where(r => r.DeviceId == _deviceId && r.ProgramId == _programId).FirstOrDefault().DownProgress;
                    DownloadViewModelList.Add(new DownloadViewModel
                    {
                        DeviceId= (int)_deviceId,
                        DeviceName = tempDeviceName,
                        ProgramName = tempProgramName,
                        DownloadProgress = (int)progress
                    });
                }
            }
            return Json(new AjaxResult
            {
                Result = DoResult.Success,
                RetValue = DownloadViewModelList
            }, JsonRequestBehavior.AllowGet);
        }

2.采用JsonResult,最主要拿来处理ajax请求

[HttpPost]
        [HandlerAjaxOnly]
        public JsonResult CheckLogin(string username, string password, string code)
        {
            UserManage.LoginResult result = this.HttpContext.UserLogin(username, password, code);
            if (result == UserManage.LoginResult.Success)
            {
                return Json(new AjaxResult { Result = DoResult.Success, DubugMessage = "登陆成功。" });
            }
            else
            {
                return Json(new AjaxResult { Result = DoResult.Faild, DubugMessage = "登陆失败," + result.ToString() });
            }
        }

具体的区别后续补充,用法基本就是这样。

转载于:https://www.cnblogs.com/yinxuejunfeng/p/9685460.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值