Uwakpeter Ответов: 1

Как отобразить viewbag on view на httppost


я хочу иметь возможность отображать ViewBag на событии view on button click, это мой код:

[HttpPost]
public ActionResult SpecificWorkflowReport(Report2ListViewModel wf)
{

      var getSpRecord = db.Mworkflow().ToList();

      var getRecord = (from u in getSpRecord
       select new Report2ListViewModel
          {
            WorkFlowType = u.WorkFlowType,
            WorkflowInstanceId = u.WorkflowInst,
            WorkFlowDescription = u.WorkFlowDesc,
          }).ToList();

          ViewBag.WorkflowType = wf.WorkFlowType;
          ViewBag.WorkflowInstanceId = wf.WorkflowInst;
          ViewBag.WorkFlowDescription = wf.WorkFlowDesc

          var data = Newtonsoft.Json.JsonConvert.SerializeObject(getRecord);
          return Json(data);
}


Что я уже пробовал:

Тип Worflow: @ViewBag.WorkflowType
Идентификатор Экземпляра Рабочего Процесса: @ViewBag.WorkflowInstanceId
Описание Рабочего Процесса: @ViewBag.WorkFlowDescription


значения ViewBag всегда равны нулю в представлении, любая помощь будет оценена по достоинству.

F-ES Sitecore

Вы возвращаете json, поэтому я предполагаю, что этот метод вызывается через ajax, если это так, то ViewBag здесь не работает, вызывающий код знает только то, что вы возвращаете. Добавьте данные, которые вы хотите вернуть в json, или было бы проще создать конкретный класс, который имеет свойства для всех данных, которые вы хотите вернуть, создать экземпляр класса, заполнить его и сериализовать в json для возврата.

1 Ответов

Рейтинг:
0

#realJSOP

Viewbag повторно инициализируется с каждым запросом. Вы должны найти другой способ сохранения данных между запросами. Есть несколько способов сделать это, и какой метод вы используете, действительно зависит от ваших требований. Google-ваш друг.

mvc persist dat между запросами - поиск Google[^]