asp.net MVCList<Model>前端传参

前端js
主要是要用json类型
data: JSON.stringify(dataObj),
dataType: “json”,
contentType: ‘application/json;charset=utf-8’,

function saveFeeInfo(id) {
        var dataObj = {};
        dataObj.ProjectID = id;
        dataObj.Type = "";
        dataObj.ProjectType = "";
        dataObj.MoneyType = $("#MoneyType").val();
        dataObj.list = getTableContent('mytable');

        $.ajax({
            type: "post",
            url: "/Admin_Fee/SaveFee/",
            data: JSON.stringify(dataObj),
            dataType: "json",
            contentType: 'application/json;charset=utf-8',
            async: false,
            cache: false,
            beforeSend: function () { $("#loading").show(); },
            success: function (m) {
                $("#loading").hide();
                if (m == "success") {
                	xxxx;
                }
                else {
                    messageAlert(m);
                }
            },
            error: function (e) {
                messageAlert("保存失败!");
                $("#loading").hide();
            }
        })
    }
    //table获取百分比值
    function getTableContent(id) {
        var mytable = document.getElementById(id);
        var data = [];
        for (var i = 1, rows = mytable.rows.length; i < rows; i++) {
            var per = mytable.rows[i].cells[1].getElementsByTagName("input")[0].value;
            if (per != null && per != "") {
                var obj = {};
                obj["AccountId"] = $.trim(mytable.rows[i].cells[0].id);
                obj["AccountName"] = $.trim(mytable.rows[i].cells[0].innerHTML);
                obj["ID"] = $.trim(mytable.rows[i].cells[1].id);
                obj["Proportion"] = per;
                data.push(obj);
            }
        }
            return data;
    }

model

public class FeeSettingModel
    {
        public string ProjectID { get; set; }//项目id  
        public string Type { get; set; }//类型
        public string ProjectType { get; set; }//项目类型
        public string MoneyType { get; set; }//资金类型

        public List<PerModel> list { get; set; }
    }

    public class PerModel
    {
        public string ID { get; set; }//FeeSetting的唯一标识id  
        public string AccountId { get; set; }//费用id
        public string AccountName { get; set; }//费用名称
        public decimal Proportion { get; set; }//百分比
    }

controler

public JsonResult SaveFee(FeeSettingModel infoModel)
        {
            userCode = userInfo != null ? userInfo.UserCode : "";
            bool result = false;
            foreach (var item in infoModel.list)
            {
                string sql = string.Empty;
                if (string.IsNullOrEmpty(item.ID))
                {
                    sql = string.Format(@"insert into {0} (ProjectID, Type, ProjectType, MoneyType, AccountId, AccountName, Proportion, SubmitTime, SubmitUser) values ('{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')", dbcode, infoModel.ProjectID, infoModel.Type, infoModel.ProjectType, infoModel.MoneyType, item.AccountId, item.AccountName, item.Proportion, userDate.ToString("yyyy-MM-dd HH:mm:ss"), userCode);
                }
                else
                {
                    sql = string.Format(@"UPDATE {0} SET Type='{1}',ProjectType='{2}',MoneyType='{3}',Proportion= '{4}',UpdateTime='{5}',UpdateUser='{6}' WHERE ProjectID ='{7}' AND  AccountId  ='{8}' AND ID ='{9}'", dbcode, infoModel.Type, infoModel.ProjectType, infoModel.MoneyType, item.Proportion, userDate.ToString("yyyy-MM-dd HH:mm:ss"), userCode, infoModel.ProjectID, item.AccountId, item.ID);
                }

                result = service.OperateSqlNode(sql);
                if (!result)
                {
                    break;
                }
            }

            if (result)
            {
                return Json("success");
            }
            else
            {
                return Json("error");
            }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值