Harish Anji Ответов: 1

Работаете, если условие


Привет ,
Я новичок в разработке и пытаюсь добавить новый дизайн ID-карты на основе идентификатора клиента .
Я переименовал существующий дизайн и добавил условие IF для перекрестной проверки cientID для выбора файла дизайна. Поскольку я новичок в этой разработке ( я в основном занимаюсь профилем развития бизнеса),
Я запутался в этой части и ударил по нижнему пункту.

1) я написал условие If, но запутался в скобках.

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

if (GId == 2070)
            {
            var demoViewLandscape = new PartialViewAsPdf("_DPSBVRM_StudentGatePassPatial");
            }

            else
            {
                var demoViewLandscape = new PartialViewAsPdf("_StudentGatePassPatial");
            }
            
             

            {
                PageOrientation = Rotativa.Options.Orientation.Landscape,
                PageMargins = new Margins(2, 2, 2, 2),

            };
            return demoViewLandscape;



        }
    }
}

1 Ответов

Рейтинг:
11

Richard Deeming

Я предполагаю, что ваш исходный код выглядел примерно так:

var demoViewLandscape = new PartialViewAsPdf("_StudentGatePassPatial")
{
    PageOrientation = Rotativa.Options.Orientation.Landscape,
    PageMargins = new Margins(2, 2, 2, 2),
};

return demoViewLandscape;
Это инициализатор объекта[^], который используется для задания нескольких свойств объекта при его создании. Это должно быть частью new заявление.

Вы также не можете объявить переменную внутри блока, а затем ссылаться на нее из внешнего блока.

Поскольку единственная часть, которая изменяется, - это имя представления, передаваемое конструктору, есть несколько способов сделать это. Есть два простейших варианта::

1) Воспользуйся тернарный оператор[^]:
var demoViewLandscape = new PartialViewAsPdf(GId == 2070 ? "_DPSBVRM_StudentGatePassPatial" : "_StudentGatePassPatial")
{
    PageOrientation = Rotativa.Options.Orientation.Landscape,
    PageMargins = new Margins(2, 2, 2, 2),
};

return demoViewLandscape;
2) Объявите путь представления как отдельную переменную и используйте if заявление о его назначении:
string viewPath;
if (GId == 2070)
{
    viewPath = "_DPSBVRM_StudentGatePassPatial";
}
else
{
    viewPath = "_StudentGatePassPatial";
}

var demoViewLandscape = new PartialViewAsPdf(viewPath)
{
    PageOrientation = Rotativa.Options.Orientation.Landscape,
    PageMargins = new Margins(2, 2, 2, 2),
};

return demoViewLandscape;


Harish Anji

Привет, Ричард, Спасибо тебе за это. Это помогло мне решить мою проблему.