...

Razor форма. И передача значения контекстной переменной в нее

Тема в разделе "Разработчикам", создана пользователем dimich1978, 15 июн 2020.

  1. dimich1978

    dimich1978 Member

    Доброго всем дня. В процессе формируется список отправителей табелей(Пользователи, переменная Chiefs), далее формируются внешние подпроцессы, на каждого отправителя(Chief). В подпроцессной задаче используется Razor форма и вот в ней мне нужно выбрать всех сотрудников у которых руководителем является отправитель табеля(Chief). Где то на просторах инета нашел, что можно сделать так (версия элмы 3.12.1.36566)

    часть КОДа Razor формы:
    Код:
    @inherits DynamicViewControl<EleWise.ELMA.Workflow.Web.Models.WorkflowTaskInfo>
    ...
    ..
    dynamic = Model.Instance.Context;
    int IdCurChief = Convert.ToInt32(dynamic.Chief.Id); // Где Chief контекстная переменная в которую передается один из получателей, Данная переменная создана и в Процессе и в подпроцессе. Так же проставлены галочки входные\выходные, пробовал без галочек все ананлогично.
    var EmployeeList = EntityManager<Employee>.Instance.Find("Chief = "+ IdCurChief);
    Выдает ошибку
    c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root\f5cc6f96\90608892\App_Web_workingtime.cshtml.a0b157c2.lnpa3w4s.0.cs(286): error CS0103: The name 'dynamic' does not exist in the current context
    в строке 286 какого либо операции с dynamic не обнаружено. Да и ошибка говорит о том что переменная dynamic не существует в текущем контектсе.

    Хорошо, немного переписал и написал dynamic din= Model.Instance.Context;
    Стал выдавать ошибку Cannot perform runtime binding on a null reference
    Что не так делаю, спасибо!
     
  2. dimich1978

    dimich1978 Member

    На будущее
    Добавляем строку
    @model EleWise.ELMA.Workflow.Web.Models.WorkflowTaskInfo
    @using ...
    ......
    @{

    dynamic context= Model.Instance.Context;
    int IdCurChief = Convert.ToInt32(context.Chief.Id); //Chief переменная контекстная и в процессе и в подпроцессе, при этом проставим галочки входные\выходные. Незабываем указать входные выходные в блоке подпроцесса (что я и забыл и получал null)
    var EmployeeList = EntityManager<Employee>.Instance.Find("Chief = "+ IdCurChief);
    }
    Задачу закрываем
     

Поделиться: