C#多值拼接,传参方式

效果图
在这里插入图片描述

页面代码

@Html.Kendo().MultiSelectFor(M => M.MT_OperationList[0].OperatorUserID).DefaultOptions().DataSource(ds => ds.Read("GetOperatorUsers", "MaintainManage")) 

@Html.ValidationMessageFor(M => M.MT_OperationList[0].OperatorUserID)
 @Html.Kendo().MultiSelectFor(m => m.Repair_Owner).DefaultOptions().DataSource(ds => ds.Read("GeRecordOwnerEmp", "Troubles")).HtmlAttributes(new { style = "width: 60%;font-size:12px" })
 
 @Html.ValidationMessageFor(m => m.Repair_Owner)
<script>
    var flag;
    var vm3 = kendo.observable({
        flag:0,
        OnFunJB: function (e) {
            if (flag == 1) { return false; }
            flag = 1;
        var strJsonData = FormatBomDataJB("#grid2");
        $.ajax({
                dataType: "json",
                type: "post",
                url: "/MaintainManage/SaveMTOrderJB",
                data: {
                    mTOrderJbJson: strJsonData,
                    actionType: "Change"
                },
            success: function (data, type) {
                if (data == "OK") {
                    alert("报工成功!!!");
                    window.location.href = '@Url.Action("MTOrderJB")';
                } else {
                    alert("报工失败!!!");
                    return;
                }
            }
        });
            e.stopPropagation();
        }

    });

    kendo.bind($("#editJB"), vm3);
</script>

  function FormatBomDataJB(_gridId) {
        // alert($("#MT_OperationList_0__OperatorUserID").val());
        var operationList = $("#MT_OperationList_0__OperatorUserID").val();
        if (!operationList.length) {
            alert("请选择保养人员!!!");
            return;
        }
        var dataGrid = $(_gridId).data('kendoGrid');
        var data = dataGrid._data;
        var row_count = dataGrid.dataSource.data().length;
        var strJson = "{\"item\":[";
        //strJson = strJson + "," + "\"item\":[";
        for (var i = 0; i < row_count; i++) {
            strJson = strJson +
                "{\"id\":\"" + data[i].Id + "\"," +
                "\"orderNumber\":\"" + data[i].OrderNumber + "\"," +
                "\"operationName\":\"" + data[i].OperationName + "\"," +
                "\"operationDesc\":\"" + data[i].OperationDesc + "\"," +
                "\"groupName\":\"" + data[i].GroupName + "\"," +
                "\"sTDTimes\":\"" + data[i].STDTimes + "\"," +
                "\"unit\":\"" + data[i].Unit + "\"," +
                "\"workTimes\":\"" + data[i].WorkTimes + "\"," +
                "\"OperatorUserIDList\":\"" + operationList + "\"," +
                "\"optQty\":\"" + $("#" + data[i].Id).val() + "\"" +
                "},"
        }
        return strJson.substring(0, strJson.length - 1) + "]}";
    }

数据代码

  /// <summary>
        /// 更新报工
        /// </summary>
        /// <param name="strJsonMTOrderJB"></param>
        /// <returns></returns>
        public string UpdateMTOrderJB(string strJsonMTOrderJB)
        {
            try
            {
                JObject JsonObject = (JObject)JsonConvert.DeserializeObject(strJsonMTOrderJB);
                JObject ItemObject = null;

                for (var i = 0; i < JsonObject["item"].Count(); i++)
                {
                    ItemObject = (JObject)JsonConvert.DeserializeObject(JsonObject["item"][i].ToString());

                    var id = Convert.ToDecimal(ItemObject["id"]);
                    var workTime = Convert.ToDecimal(ItemObject["workTimes"]);
                    var optQty = Convert.ToDecimal(ItemObject["optQty"]);

                    var Info = db.EMS_M_DOC_OPERATION.Where(x => x.ID == id).FirstOrDefault();
                    Info.WORK_TIMES = Convert.ToDecimal(ItemObject["workTimes"]) + Convert.ToDecimal(ItemObject["optQty"]);
                    Info.UPDATE_BY = UserSession.Account.Id;
                    Info.UPDATE_TIME = DateTime.Now;
                    db.SaveChanges();

                    string strSEQ = GetMaxId("EMS_M_DOC_WORKTIME", ItemObject["orderNumber"].ToString());
                    var work = new EMS_M_DOC_WORKTIME()
                    {
                        ID = GetMaxId("EMS_M_DOC_WORKTIME") + 1,
                        MT_NO = ItemObject["orderNumber"].ToString(),
                        OPERATION = ItemObject["operationName"].ToString(),
                        OPERATION_DESC = ItemObject["operationDesc"].ToString(),
                        UNIT = ItemObject["unit"].ToString(),
                        WORK_TIMES = workTime + optQty,
                        WT_SEQ = strSEQ,
                        UPDATE_BY = UserSession.Account.Id,
                        UPDATE_TIME = DateTime.Now

                    };
                    db.EMS_M_DOC_WORKTIME.Add(work);
                    db.SaveChanges();

                    if (i == 0)
                    {
                        string OperatorUserList = ItemObject["OperatorUserIDList"].ToString();
                        string[] strArrOpeUser = OperatorUserList.Split(',');

                        foreach (var item in strArrOpeUser)
                        {
                            if (string.IsNullOrEmpty(item))
                            {
                                continue;
                            }
                            var userID = Convert.ToDecimal(item);
                            var ope = new EMS_M_DOC_OPERATOR()
                            {
                                ID = GetMaxId("EMS_M_DOC_OPERATOR") + 1,
                                MT_NO = ItemObject["orderNumber"].ToString(),
                                OPERATOR_ID = userID,
                                WT_SEQ = strSEQ,
                                UPDATE_BY = UserSession.Account.Id,
                                UPDATE_TIME = DateTime.Now
                            };
                            db.EMS_M_DOC_OPERATOR.Add(ope);
                            db.SaveChanges();
                        }

                    }


                }

                return "OK";
            }
            catch (Exception ex)
            {
                return "NG-" + ex.Message;
            }
        }

字符串连接参照例

<span style="font-size:18px;"><script>  
        function GetZone() {  
  
            //获取input所在div的对象  
            var ob = document.getElementById("div1");  
  
            //获取div中所用的IUPUT控件集合  
            var col = div1.getElementsByTagName("INPUT");  
            //定义一个变量并初始化为空  
            var str = "";  
            var count = 0;  
  
            //循环遍历,判断INPUT是否选中  
            for (var i = 0 ; i < col.length; i++) {  
                if (col[i].checked == true) {  
                    count++;  
                    if (count == 1) {//当是一个值得时候,直接把选中的值赋给字符串  
                        str += col[i].value;  
                    }  
                    else {  
                        str += "/" + col[i].value;//多个被选中的时候,需要把选定的值不断的拼接  
                    }  
                    //str+=col[i].value+"/";  
                }  
            }  
            document.getElementById("zonestr").value = str;//把选择完后的字符串给一个隐藏空间以便向后台传送  
  
        }  
    </script></span>  

多值文本框选择后储存为单一值

效果图

在这里插入图片描述
在这里插入图片描述

界面代码

   <td>
     @Html.Kendo().MultiSelectFor(m => m.Repair_Owner).DefaultOptions().DataSource(ds => ds.Read("GeRecordOwnerEmp", "Troubles")).HtmlAttributes(new { style = "width: 60%;font-size:12px" })
     @Html.ValidationMessageFor(m => m.Repair_Owner)
   </td>

JS代码

 function submitFunc() {
    
    
        alert("1!");
        var repair_owner = $('#Repair_Owner').val();
        if (repair_owner == undefined || repair_owner.text == "") {
    
    
            alert("维修人员不能为空!");
            return;
        }
        
        var supervisorid = $('#SupervisorId').val();
         if (supervisorid.length == 0 || supervisorid.text=="请选择") {
    
    
             alert("课级主管不能为空!");
             return;
         }
          
        var managerid = $('#ManagerId').val();
        if (managerid.length == 0 || managerid.text == "请选择") {
    
    
            alert("理级主管不能为空!");
            return;
        }

        var shop = $('#Shop').val();
        if (shop.length == 0 || shop.text == "请选择") {
    
    
            alert("车间不能为空!");
            return;
        }

        var area = $('#Area').val();
        if (area.length == 0 || area.text == "请选择") {
    
    
            alert("区域不能为空!");
            return;
        } 
        var strrepair_owner = "";
        for (var i = 0; i < repair_owner.length; i++) {
    
         
            if (i <= 0) {
    
    
                strrepair_owner = repair_owner;
            }
            else {
    
    
                //strrepair_owner += "," + repair_owner;
                strrepair_owner = repair_owner.join(",");
            }
        }
     

        if (window.location.pathname == "/Troubles/OwnerCreate") {
    
    
            $.ajax({
    
    
                dataType: "json",
                type: "post",
                url: "/Troubles/OwnerCreate",
                data: {
    
    
                    rRepair_Owner: strrepair_owner,
                    rSupervisorid: supervisorid,
                    rManagerId: managerid,
                    rShop: shop,
                    rArea: area,
                    rOnDuty: $('#OnDuty').val(),
                    rOwnerSeq: $('#OwnerSeq').val(),
                    rNoDeal_Alarm_L: $('#NoDeal_Alarm_L').val(),
                    rNoDeal_Alarm_M: $('#NoDeal_Alarm_M').val(),
                    rNoFinish_Alarm_L: $('#NoFinish_Alarm_L').val(),
                    rNoFinish_Alarm_M: $('#NoFinish_Alarm_M').val(),
                },
                success: function (data, type) {
    
    
                    if (data == "OK") {
    
    
                        alert("修正保存成功!!!");
                        window.location.href = '@Url.Action("RepairOwnerIndex")';
                    } else {
    
    
                        alert(data);
                        return;
                    }
                }
            });
        }
        else {
    
    
            $('form').submit();
        }
    }

主要代码数据字符串传值

 for (var i = 0; i < repair_owner.length; i++) {
    
         
            if (i <= 0) {
    
    
                strrepair_owner = repair_owner;
            }
            else {
    
    
                //strrepair_owner += "," + repair_owner;
                strrepair_owner = repair_owner.join(",");
            }
        }

控制代码

[UserAuthorize(FuncID.维修责任区_Create)]
        [HttpPost]
        public ActionResult OwnerCreate( string rRepair_Owner, int rSupervisorid, int rManagerId,string rShop,string rArea,string rOnDuty,string rOwnerSeq,
            int rNoDeal_Alarm_L, int rNoDeal_Alarm_M, int rNoFinish_Alarm_L, int rNoFinish_Alarm_M)
        {
            using (var handler = new TroublesHandler())
            {
              return Json(handler.InsertOwner(rRepair_Owner, rSupervisorid, rManagerId, rShop, rArea, rOnDuty, rOwnerSeq, rNoDeal_Alarm_L, rNoDeal_Alarm_M, rNoFinish_Alarm_L, rNoFinish_Alarm_M), JsonRequestBehavior.AllowGet);        
            }
        }

Handler中代码

//维修责任人添加责任区写入数据
        public string InsertOwner(string rRepair_Owner, int rSupervisorid, int rManagerId, string rShop, string rArea, string rOnDuty, string rOwnerSeq,
            int rNoDeal_Alarm_L, int rNoDeal_Alarm_M, int rNoFinish_Alarm_L, int rNoFinish_Alarm_M)
        {
            try {
                #region EMS_R_OWNER_LEADER数据写入
                var Erol = new CommonResource.Models.EMS_R_OWNER_LEADER()
                {
                    ID = GetMaxId("EMS_R_OWNER_LEADER") + 1,
                    PLANT_ID = UserSession.Plant.Id,
                    SHOP = rShop,
                    AREA = rArea,
                    MANAGER_ID = rManagerId,
                    LEADER_ID = rSupervisorid,
                    //RECORD_MUST=isMustRecord,
                    USEAGE = "U1",
                    NO_DEAL_ALARM_L = rNoDeal_Alarm_L,
                    NO_DEAL_ALARM_M = rNoDeal_Alarm_M,
                    NO_FINISH_ALARM_L = rNoFinish_Alarm_L,
                    NO_FINISH_ALARM_M = rNoFinish_Alarm_M,
                    UPDATE_BY = UserSession.Account.Id,
                    UPDATE_TIME = DateTime.Now,
                    DELETEFLAG = 0,
                };
                db.EMS_R_OWNER_LEADER.Add(Erol);
                db.SaveChanges();
                #endregion

                #region EMS_R_OWNER_MEMBER数据写入

                string[] sArrDefect_rRepair_Owner = rRepair_Owner.Split(',');
                for (int i = 0; i < sArrDefect_rRepair_Owner.Length; i++)
                {
                    var ownerJson = sArrDefect_rRepair_Owner[i].ToString().Trim() == "" ? null : sArrDefect_rRepair_Owner[i].ToString().Trim();
                    var Erom = new CommonResource.Models.EMS_R_OWNER_MEMBER()
                    {
                        ID = GetMaxId("EMS_R_OWNER_MEMBER") + 1,
                        OWNER_ID = db.ACCOUNT.Where(t => t.NAME == ownerJson).Select(t => t.ID).FirstOrDefault(),
                        ON_DUTY = rOnDuty,
                        GROUP_ID = GetMaxId("EMS_R_OWNER_LEADER"),
                        UPDATE_BY = UserSession.Account.Id,
                        UPDATE_TIME = DateTime.Now,
                        DELETEFLAG = 0,
                    };
                    db.EMS_R_OWNER_MEMBER.Add(Erom);
                    db.SaveChanges();
                }
                #endregion
                return "OK";
            }
            catch (Exception ex)
            {
                return "NG-" + ex.Message;
            }
        }

主要代码分割字符串储存

 string[] sArrDefect_rRepair_Owner = rRepair_Owner.Split(',');
 var ownerJson = sArrDefect_rRepair_Owner[i].ToString().Trim() == "" ? null : sArrDefect_rRepair_Owner[i].ToString().Trim();
 OWNER_ID = db.ACCOUNT.Where(t => t.NAME == ownerJson).Select(t => t.ID).FirstOrDefault(),
                        ON_DUTY = rOnDuty,

C#winform中值和描述连接

效果如图
在这里插入图片描述
通过SQL取值后再循环调用

      public ExecuteResult GetStationInfo(string site)
        {
            try
            {
                exeRes = new ExecuteResult();
                string sqlStr = @"  select b.site, b.line, c.stage, d.station_type, a.station_name,d.station_type_desc
                                      from imes.m_station      a,
                                           imes.m_line         b,
                                           imes.m_stage        c,
                                           imes.m_station_type d,
                                           imes.m_operate_type f
                                     where a.line = b.line
                                       and a.stage = c.stage
                                       and a.station_type = d.station_type
                                       and d.operate_type = f.scan_type
                                       and d.operate_type ='Input'
                                       and d.client_type  ='MANU'
                                       and a.enabled = 'Y'
                                       and b.enabled = 'Y'
                                       and c.enabled = 'Y'
                                       and d.enabled = 'Y'
                                       and b.site = :site
                                     order by site, line, stage, station_type, station_name ";
                object[] para = new object[] { site };
                exeRes.Anything = utility.Query(sqlStr, para);

                exeRes.Status = true;
            }
            catch (Exception ex)
            {
                exeRes.Message = "Error:" + ex.Message;
                exeRes.Status = false;
            }
            return exeRes;
        }
  public void Show_Terminal()
        {
            TVTerminal.Nodes.Clear();

            exeRes = controller.GetStationInfo(combFactory.Text);
            if (!exeRes.Status)
            {
                MessageBox.Show(exeRes.Message);
                return;
            }
            dtTemp = (DataTable)exeRes.Anything;

            //string sPreLineType = "";
            string sPreLine = "";
            string sPreStage = "";
            string sPreStationType = "";


            for (int i = 0; i <= dtTemp.Rows.Count - 1; i++)
            {
                string Site = dtTemp.Rows[i]["SITE"].ToString();
                string sLine = dtTemp.Rows[i]["LINE"].ToString();
                string sStage = dtTemp.Rows[i]["STAGE"].ToString();
                string sStationType = dtTemp.Rows[i]["STATION_TYPE"].ToString();
                string sStation = dtTemp.Rows[i]["STATION_NAME"].ToString()+" || "+ dtTemp.Rows[i]["STATION_TYPE_DESC"].ToString();
 string sStationType = dtTemp.Rows[i]["STATION_TYPE"].ToString() + " || " + dtTemp.Rows[i]["STATION_TYPE_DESC"].ToString();
 
string sStation = dtTemp.Rows[i]["STATION_NAME"].ToString()+" || "+ dtTemp.Rows[i]["STATION_TYPE_DESC"].ToString();

猜你喜欢

转载自blog.csdn.net/caoguanghui0804/article/details/114403715