Partager via


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