By default, Field Templates are selected for you based on the DataTypeAttribute
or property type of the DataField. For example, any string type property loads
Text.ascx or Text_Edit.ascx. If it has the DataTypeAttribute(DataType.MultiLine),
the same string type will load MultiLine.ascx and MultiLine_Edit.ascx.
Often you want to select an alternative:
- You created a new Field Template that customizes the original.
- There are several unique formats from which to choose, like Boolean types
have with Boolean.ascx, BooleanLabel.ascx, and BooleanCheckBox.ascx.
- You want to use a Field Template developed around a third party control.
Each Field Template file must be located in the
[web app]\BLD Templates\FieldTemplates folder, or a subfolder. When in a subfolder,
it can have the same name as the one in the FieldTemplates folder.
Here are several ways to load a specific Field Template.
- UIHint property - Specify the file name, omitting the file extension and "_Edit" parts
in this property, found on BLDDataField control, BLDField control, and DataFieldInPattern object.
<des:BLDDataField id="ProductName" runat="Server" DataField="ProductName" UIHint="TitleText" />
<des:BLDField DataField="ProductName" UIHint="TitleText" />
<des:DataFieldInPattern DataField="ProductName" UIHint="TitleText" />
- Defining where to find a Field Template -
The [web app]\BLD Templates\FieldTemplate.config file describes the paths searched for a Field Template. If you have created a
Field Template in a subfolder that should be used instead of the original, set it up here.
<pathsearch>
<path url="FieldTemplates/RadControls/" />
<path url="FieldTemplates/AJAX Control Toolkit/" enabled="false" />
<path url="FieldTemplates/" />
</pathsearch>
<templatesearch>
<template name="Text" url="FieldTemplates/CustomTemplates/" modes="edit|insert"/>
</templatesearch>
- Themes - You can define a group of Field Templates to handle themes.
This way, you can create variations of Field Templates that give a specific appearance
and use them by specifying the theme name in the Web Form.
<themes>
<theme name="Green" ">
<skin requested="Text" newname="GreenText" mode="readonly" />
<skin requested="Boolean" newname="GreenBoolean" mode="readonly" />
</theme>
</themes>
In the next topic, you will learn
how to set properties on Field Templates to customize them.