public IActionResult EditServiceJson() { if (!TempData.ContainsKey(EDIT_JSON_CROSS_ACTION_DATA_KEY)) { throw new Exception("资源不可以直接访问"); } EditServiceJson postedJson = TempData.Get <Models.EditServiceJson>(EDIT_JSON_CROSS_ACTION_DATA_KEY); var model = new EditServiceJsonViewModel(postedJson); ViewBag.ErrorMessage = postedJson.ErrorMessage; return(View(model)); }
JsonTemplate ProcessBeforeJump(ref EditServiceJson tempData, ref EditServiceJsonViewModel viewModel) { var processedTemplate = JsonConvert.DeserializeObject <Models.JsonTemplate>(viewModel.CurrentJson); bool uiChanged = false; if (processedTemplate.IsArray != viewModel.CurrentTemplate.IsArray) { //用户修改了IsArray。 processedTemplate.IsArray = viewModel.CurrentTemplate.IsArray; uiChanged = true; } if (processedTemplate.ValueType != viewModel.CurrentTemplate.ValueType) { processedTemplate = new JsonTemplate(); processedTemplate.ValueType = viewModel.CurrentTemplate.ValueType; processedTemplate.IsArray = viewModel.CurrentTemplate.IsArray; uiChanged = true; } if (uiChanged) { tempData.CurrentJson = JsonConvert.SerializeObject(processedTemplate); } return(processedTemplate); }