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);
        }