Коллеги, подскажите, можно ли динамически формировать текст и управлять компонентами на форме? Пример: Делаю новый объект, делаю для него Форму для создания / редактирования. На форме есть элемент с выпадающим списком других объектов. Хочу при изменении значения выполнять пересчет данных для информации пользователя и показывать их на форме (до сохранения) Иду в свойства выпадающего списка и делаю обработчик при изменении: public virtual void ChangeAgent (IIncomingPayment entity, EleWise.ELMA.Model.Views.FormViewBuilder<IIncomingPayment> form) Можно ли отсюда добраться до визуальных элементов на форме и изменять их значения?
Смотря о чем речь. Само представление поменять не сможете особо (т.е. добавить поле которого нет на форме, поменять местами поля и тп). А вот с значениями конечно можете через entity получить доступ ко всем значениям объекта и менять их как заблагорассудится. Причем независимо от того показан элемент на форме или нет.
Если я правильно понял, чтобы мне сформировать произвольный динамический текст на форме, мне нужно, чтобы этот текст был свойством объекта? Делаю вывод на форму entity.Description И когда я буду его менять через событие, текст будет меняться на форме? Если текст не имеет отношение к объекту, то мне его никак не "нарисовать" на этой форме.
Еще вопрос вдогонку: если переходить на "рисование" форм на Razor - для динамической формы данные надо получать из контроллера через Ajax запросы. Если нужна небольшая доработка, то делать собственный модуль не очень хочется. Есть способ сделать серверную логику для контроллера в Дизайнере?
Есть такое, меня также ломало сильно делать модуль ради небольшой доработки, способ костыльный - сделать скрытое в свернутой панели поле на изменение которого повесить нужный код, событие изменения поля посылать JSом. Более правильный но задача в моем случае не стоила даже небольших исследований - разобраться в том что ELMA отправляет при событии изменения поля/нажатии кнопки, и формировать такой же JSкод в Razor разметке.