Data Binding

IWML supports both one way and two way data binding to objects, including data obtained and updated by REST.


To bind any IWML property use the syntax:

=<source type>.<source name>.<field names>(parameters):<format>

For example, this binds a property to a data value in a dataset:


Source Type

Source type specifies a specific handler to handle the data binding. Each source type has its own requirements as to which parts are optional or not.

Source Name

Optional, although many source types require it. Meaning of source name depends on source type.

Field Names

Optional and depends on the source type.


Optional and depends on the source type.


<format> is always optional and can also be used with any source type. If not specified, the : is not necessary. Formatters can be used to transform or format the data values.

Formatters are independent of other fields and work on the result provided by the source type. Read more…

In Markdown

Data binding can exist in markdown using the data tag. Any bindings in markdown are one way and read only as markdown has no input.


If the target of the binding is an IntraWeb property (Atozed.Props.Property<>) then .Value can be used, or omitted and it will be defaults.

For example, these two are identical:


Data Source Types

To bind to data, first a source of the data must be chosen, aka a data source. Currently IWML supports the following data sources.

Data source types are not case sensitive. this, THIS, and This are all the same. Field names however are usually case sensitive.

Required components are in bold.


Data is used to bind to a row and field in a dataset. Read more…


HTTP is used to create a one way binding to retrieve the data from an external URL. Read more…


Page is used to bind to controls on the page. Read more…


Prop is used to bind to page properties. Read more…


This is used to bind to the code behind object. Read more…


The keyword url is used to bind to query values in the URL. Read more…

Special Values

These are not true data bound values, but are treated as such to avoid requiring a an additional special notation.


To assign a null value:


Empty String

To assign an empty string:


Those are two occurrences of a single quote, not a single double quote.


The leading = is what signifies that the property is to be data bound. If the property is a text value and = is actually needs to be displayed rather than data bound, use == instead and only one = will be displayed. For example:

==This is raw text that starts with a single = and is not data bound.