Classe ObjectListField
Rappresenta un campo di un controllo mobile ASP.NET ObjectList.
public sealed class System.Web.UI.MobileControls.ObjectListField :
System.Object, System.Web.UI.IStateManager
Osservazioni
Un campo è di tipo ObjectListField. Se si desidera visualizzare più campi, è possibile specificare più campi per ciascun elemento di un elenco di oggetti. Per creare un campo all'interno della dichiarazione di un controllo ObjectList, dichiarare un tipo ObjectListField come elemento <Field>. Ogni campo è associato a un nome di proprietà. Quando un elemento dell'elenco è associato a un oggetto di dati, ogni campo è a propria volta associato alla proprietà corrispondente dell'oggetto.
Nel controllo ObjectList sono disponibili tre modalità di definizione di un campo:
- In modo dichiarativo, tramite l'utilizzo degli elementi figlio**<Field>** all'interno dell'elenco di oggetti
- A livello di codice, tramite la creazione di oggetti ObjectListField da aggiungere all'insieme dei membri Fields del controllo
- Automaticamente, tramite l'impostazione della proprietà AutoGenerateFields su True
Esempio
Nell'esempio di codice descritto di seguito viene aggiunto a livello di codice un elemento all'insieme ObjectListFieldCollection di un elenco di oggetti durante il caricamento iniziale di una pagina. In questo modo, è possibile controllare in modo esplicito l'aggiunta di campi a un elenco di oggetti.
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
Language="c#" Debug="true" %>
<script Language="c#" runat="server">
class Book
{
private String _BookName, _Author, _InStock;
public Book(String BookName, String Author, String InStock)
{
_BookName = BookName;
_Author = Author;
_InStock = InStock;
}
public String BookName { get { return _BookName; } }
public String Author { get { return _Author; } }
public String InStock { get { return _InStock; } }
}
public void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Create and fill array.
ArrayList arr = new ArrayList();
arr.Add (new Book ("Sushi, Anyone?", "O'Leary", "Yes"));
arr.Add (new Book ("Secrets of Silicon Valley", "Dull", "No"));
arr.Add (new Book ("Net Etiquette", "Locksley", "Yes"));
arr.Add (new Book ("The Gourmet Microwave", "Ringer", "No"));
// Associate the array with an object list.
ObjectList1.DataSource = arr;
// Use the Title attribute to specify the field to be used
// as a title.
ObjectList1.LabelField = "BookName";
ObjectList1.AutoGenerateFields=false ;
// Add an ObjectListField object
// to the ObjectListFieldCollection object.
// collection of ObjectList1.
ObjectListField ListField1 = new ObjectListField();
ListField1.DataField = "BookName";
ListField1.Title = "BookName";
ObjectList1.Fields.Add(ListField1);
ListField1 = new ObjectListField();
ListField1.DataField = "Author";
ListField1.Title = "Author";
ObjectList1.Fields.Add(ListField1);
ListField1 = new ObjectListField();
ListField1.DataField = "InStock";
ListField1.Title = "InStock";
ObjectList1.Fields.Add(ListField1);
// Bind to the ObjectList object.
ObjectList1.DataBind();
// Store the data source in a session variable so that
// the data source can persist across multiple postbacks.
Session["MyArray"] = arr;
}
}
void CommandClick(Object sender, ObjectListCommandEventArgs e)
{
ObjectList1.Fields.RemoveAt(1);
// Associate the array to the ObjectList object.
ObjectList1.DataSource = (ArrayList) Session["MyArray"];
// Must bind data again.
ObjectList1.DataBind();
}
</script>
<mobile:Form runat="server" id="Form1" >
<mobile:ObjectList runat="server" id="ObjectList1"
OnItemCommand="CommandClick" >
<command Name="RemoveField" Text="Remove Second Field" />
</mobile:ObjectList>
<mobile:Label runat="server" id="Label1" />
<mobile:Label runat="server" id="Label2" />
</mobile:Form>
Requisiti
Spazio dei nomi: System.Web.UI.MobileControls
Assembly: System.Web.Mobile
Vedere anche
Classe ObjectListFieldCollection