public ActionResult SearchPatient(PresentViewModel vm) { Session["PatientID"] = vm.P_ID_Value; //紀錄patientID PresentModel p = new PresentModel(); //病患資料 IEnumerable <PresentViewModel> getPatientData = p.GetP_ID_Value(vm); string jsonSeries = JsonConvert.SerializeObject(getPatientData); TempData["item"] = jsonSeries; //要跨Action要使用TempData才能記住資料 //病患藥物劑量 List <Dictionary <string, object> > mRet_Dose = new List <Dictionary <string, object> >(); mRet_Dose = p.GetMedDose(vm); List <Dictionary <string, object> > samedateDose = new List <Dictionary <string, object> >(); for (int i = 0; i < mRet_Dose.Count; i++) { if (samedateDose.Count == 0) { Dictionary <string, object> dict = new Dictionary <string, object>(); //拿MedPRS的時間 dict.Add("MedPRS", mRet_Dose[i]["MedPRS"]); dict.Add("Time13", mRet_Dose[i]["Time13"]); dict.Add("Dose", mRet_Dose[i]["Dose"]); dict.Add("DoseUnit", mRet_Dose[i]["DoseUnit"]); dict.Add("MedPRS_Name", mRet_Dose[i]["MedPRS_Name"]); samedateDose.Add(dict); } else { var mRet_DoseCount = samedateDose.Count; bool IsExist = false; for (int n = 0; n < mRet_DoseCount; n++) { if (samedateDose[n].ContainsValue(mRet_Dose[i]["MedPRS"]) && samedateDose[n].ContainsValue(mRet_Dose[i]["Time13"])) { IsExist = true; samedateDose[n]["Dose"] = float.Parse(samedateDose[n]["Dose"].ToString()) + float.Parse(mRet_Dose[i]["Dose"].ToString()); break; } else { IsExist = false; } } if (IsExist == false) { Dictionary <string, object> dict = new Dictionary <string, object>(); //拿MedPRS的時間 dict.Add("MedPRS", mRet_Dose[i]["MedPRS"]); dict.Add("Time13", mRet_Dose[i]["Time13"]); dict.Add("Dose", mRet_Dose[i]["Dose"]); dict.Add("DoseUnit", mRet_Dose[i]["DoseUnit"]); dict.Add("MedPRS_Name", mRet_Dose[i]["MedPRS_Name"]); samedateDose.Add(dict); } } } string jsonSeries_mRet_Dose = JsonConvert.SerializeObject(samedateDose); TempData["item_MedDose"] = jsonSeries_mRet_Dose; //病歷時間 List <string> vm_medTime = p.GetMedTime(vm); string medTimeStr = ""; for (int i = 0; i < vm_medTime.Count; i++) { if (i == 0) { medTimeStr = "[ { x:" + vm_medTime[i] + ", title:'R' }"; } else if (i == (vm_medTime.Count - 1)) { medTimeStr = medTimeStr + ",{ x:" + vm_medTime[i] + ", title:'R' }]"; } else { medTimeStr = medTimeStr + ",{ x:" + vm_medTime[i] + ", title:'R'}"; } } TempData["item_medTime"] = medTimeStr; return(RedirectToAction("Index")); //將頁面導到 Index_0430TesT }