ItemCommand, événement (List)
Se produit lorsque l'utilisateur sélectionne une commande associée à un contrôle List.
public event ListCommandEventHandler ItemCommand
Notes
Lorsque vous affichez une liste à l'aide de modèles, le gestionnaire d'événements ItemCommand est appelé via le mécanisme de propagation d'événements de ASP.NET. Un argument de type ListCommandEventArgs est passé au gestionnaire d'événements. Cet argument contient des informations sur l'élément source et la propriété CommandName du contrôle ayant généré l'événement. Vous pouvez ainsi afficher un élément de liste unique avec plusieurs interactions associées.
Lors du rendu par défaut, le contrôle fournit une interface de base qui permet à l'utilisateur de cliquer sur des éléments de liste. Lors de la publication, le gestionnaire d'événements ItemCommand est appelé avec un argument de type ListCommandEventArgs, qui contient des informations sur l'élément source. La propriété CommandName de cet objet a la valeur null.
Exemple
L'exemple suivant montre comment utiliser l'événement ItemCommand pour lier un contrôle List à un tableau, puis comment remplir ce contrôle List à partir du contenu du tableau. Vous pouvez également lier le contrôle List à un groupe de données rempli à partir du résultat d'une requête SQL. Dans ce dernier cas, vous pouvez affecter aux propriétés DataTextField et DataValueField les noms des colonnes, qui représentent les propriétés Text et Value des éléments de la collection MobileListItemCollection.
<script Language="vb" runat="server">
Public Class Task
Private _TaskName, _Status As String
Public Sub New(TaskName As String, Status As String)
_TaskName = TaskName
_Status = Status
End Sub
Public Readonly Property TaskName As String
Get
return _TaskName
End Get
End Property
Public Readonly Property Status As String
Get
return _Status
End Get
End Property
End Class
Public Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack
List1.DataValueField = "Status"
List1.DataTextField = "TaskName"
Dim arr As New ArrayList()
arr.Add (New Task ("Verify transactions", "done"))
arr.Add (New Task ("Check balance sheet", "scheduled"))
arr.Add (New Task ("Send report", "pending"))
List1.DataSource = arr
List1.DataBind ()
End If
End Sub
Sub ShowStatus (sender As Object, e As ListCommandEventArgs)
Label1.Text = e.ListItem.Text + " is " + e.ListItem.Value
End Sub
</script>
<mobile:Form runat="server" id="Form1" >
<mobile:List runat="server" id="List1"
OnItemCommand="ShowStatus" />
<mobile:Label runat="server" id="Label1" ForeColor=green
Font-Italic=true />
</mobile:Form>
[C#]
<script Language="c#" runat="server">
class Task
{
private String _TaskName, _Status;
public Task(String TaskName, String Status)
{
_TaskName = TaskName;
_Status = Status;
}
public String TaskName { get { return _TaskName; } }
public String Status { get { return _Status; } }
}
public void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
List1.DataValueField="Status";
List1.DataTextField="TaskName";
ArrayList arr = new ArrayList();
arr.Add (new Task ("Verify transactions", "done"));
arr.Add (new Task ("Check balance sheet", "scheduled"));
arr.Add (new Task ("Send report", "pending"));
List1.DataSource = arr;
List1.DataBind ();
}
}
void ShowStatus(Object sender, ListCommandEventArgs e)
{
Label1.Text = e.ListItem.Text+ " is " + e.ListItem.Value;
}
</script>
<mobile:Form runat="server" id="Form1" >
<mobile:List runat="server" id="List1"
OnItemCommand="ShowStatus" />
<mobile:Label runat="server" id="Label1" ForeColor=green
Font-Italic=true />
</mobile:Form>
Voir aussi
Command, classe | CommandEventArgs, classe (Command) | ItemCommand, événement (ObjectList) | ObjectListCommandEventArgs, classe | OnItemCommand, méthode |
List, classe