Общие принципы генерации форм
Для каждой формы генерируется 3 файла: aspx-разметка, code-behind и designer-код.
Эти файлы генерируются на основании присутствующих в WebAppTemplate текстовых шаблонов, представляющих собой файлы с соответствующими расширениями. Например, для формы редактирования используются файлы EditForm.aspx
, EditForm.aspx.cs
и EditForm.aspx.designer.cs
.
Шаблоны эти можно редактировать вручную, используя следующие обозначения для указания, куда надо вставить те или иные значения для генерации:
@Formname@
- имя файла формы (без расширения).@Codebehind@
- имя файла codebehind (без расширения). Используется в aspx-файле. Совпадает с@Formname@
по значению.@Namespace@
- пространство имен класса генерируемой формы.@Classname@
- имя класса генерируемой формы.@Classcaption@
- заголовок типа, отображаемого на форме.@Formpath@
- относительный (серверный) путь к генерируемой форме.@Typename@
- имя типа, отображаемого на форме.@Viewname@
- имя представления, заданного для генерируемой формы.@Editor@
- путь к форме редактирования (для списковых форм).
Генерация с учётом пакетов
Чтобы структурировать папки, в которые будет выполнена генерация форм можно применить механизм разбивки по пакетам. Для этого у класса формы в CASEBERRY нужно указать свойство Packet. Это свойство будет использоваться для указания папки, в которую будет выполнена генерация файлов формы для этого класса. Эта папка будет находиться в папке forms проекта. В названии пакета нельзя использовать символы, которые недопустимы для имён файлов и путей до файлов. К свойству Packet транслитерация не применяется.
Примеры значений свойства Packet
:
- Папка1
- Папка2\Папка 8
Если свойство Packet не указано, то файлы форм будут генерироваться в папку с именем объекта данных, для которого эта форма создана. При этом имя класса будет транслитерировано.