SUMMARY
This article illustrates how to use an
ObjectList control to perform data binding within a template. The code samples in this article demonstrate how to perform data binding in the
ItemDetails,
Item, and
AlternatingItem templates.
When you use an
ObjectList control and perform inline data binding within a template, you must cast container objects to perform data binding correctly. This casting is required because the Microsoft Mobile Internet Toolkit uses the
TemplateContainer class, which generates a generic template object. Because the object is generic, you must cast the template to the appropriate type when you perform data binding.
Perform Data Binding in an ItemDetails Template
Visual Basic .NET Sample
<mobile:TextBox
id="TextBox1"
runat="server"
Text='<%# DataBinder.Eval(Ctype(Ctype(Container.NamingContainer ,ObjectList).Selection.DataItem,DataRowView),"fieldname") %>'>
<mobile:TextBox
id="TextBox1"
runat="server"
Text='<%# Ctype(Ctype(Container.NamingContainer,ObjectList).Selection.DataItem, DataRowView).Row("fieldname") %>'>
</mobile:TextBox>
Visual C# .NET Sample
<mobile:TextBox
id="TextBox1"
runat="server"
Text='<%# DataBinder.Eval(((ObjectList)(Container.NamingContainer)).
Selection.DataItem, "fieldname") %>'>
</mobile:TextBox>
<mobile:TextBox
id="TextBox1"
runat="server"
Text='<%# (((DataRowView)((ObjectList)(Container.NamingContainer)).
Selection.DataItem).Row["fieldname"]) %>'>
</mobile:TextBox>
Perform Data Binding in an Item or AlternatingItem Template
Visual Basic .NET Sample
<mobile:TextBox
ID="TextBox1"
Runat="Server"
Text='<%# DataBinder.Eval(Ctype(Ctype(Container, ObjectListItem).DataItem, DataRowView), "fieldname") %>'>
</mobile:TextBox>
<mobile:TextBox
id="TextBox1"
runat="server"
Text='<%# Ctype(Container, ObjectListItem)("fieldname") %>'>
</mobile:TextBox>
Visual C# .NET Sample
<mobile:TextBox
id="TextBox1"
runat="server"
Text='<%# DataBinder.Eval(((ObjectListItem)Container).DataItem, "fieldname") %>'>
</mobile:TextBox>
<mobile:TextBox
id="TextBox1"
runat="server"
Text='<%# ((ObjectListItem)Container)["fieldname"] %>'>
</mobile:TextBox>