ObjectList.ItemCommand Event
Occurs when the user selects a command that is associated with an ObjectList item. This API is obsolete. For information about how to develop ASP.NET mobile applications, see the www.asp.net/mobile Web site.
Assembly: System.Web.Mobile (in System.Web.Mobile.dll)
When an ItemCommand event handler is defined, the ObjectList notifies the handler when an item event is generated through user interaction.
When you render an object list by using templates, the ItemCommand event handler is called through the event-bubbling mechanism of ASP.NET. The event handler is passed an argument of type ObjectListCommandEventArgs, which contains information about the source item and the CommandName property of the control that generated the event. This allows you to render a single item with multiple associated interactions.
On default rendering, the control renders each of the commands defined for the object list as a link. When the user clicks a link, the ItemCommand event handler is called with an argument of type ObjectListCommandEventArgs, which contains information about the source item. The value in the CommandName property is the name of the command that the user invoked.
The following code example demonstrates how to trap the ItemCommand event. The CommandName property specifies what action to perform.
Note |
|---|
The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information, see ASP.NET Web Forms Page Code Model. |
<%@ Page Language="VB" Inherits="System.Web.UI.MobileControls.MobilePage" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <script runat="server"> ' System.Web.UI.MobileControls.ObjectListItem item ' System.Web.UI.MobileControls.ObjectListItemCollection itemColl ' Get the persisted array through postbacks. Private arr As New ArrayList() Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Create and fill the array arr.Add(new Task("Tomorrow's work", "Yes", 1)) arr.Add(new Task("Today's work", "Yes", 1)) arr.Add(new Task("Yesterday's work", "No", 1)) ' Persist the array in the Session object Session("MyArrayList") = arr ' Associate and bind array to the ' ObjectList for each postback. ObjectList1.DataSource = arr ObjectList1.LabelField = "TaskName" ObjectList1.DataBind() End If End Sub Private Sub SelectCommand(ByVal sender As Object, _ ByVal e As ObjectListCommandEventArgs) ' Get the array from the Session object arr = CType(Session("MyArrayList"), ArrayList) ' Remove selected item from the ObjectLis Dim i As Integer = ObjectList1.SelectedIndex arr.RemoveAt(i) Session("MyArrayList") = arr ' Re-Bind ObjectList to altered ArrayList. ObjectList1.DataSource = arr ObjectList1.LabelField = "TaskName" ObjectList1.DataBind() ObjectList1.ViewMode = ObjectListViewMode.List End Sub Public Sub ShowTaskDetail(ByVal sender As Object, _ ByVal e As ObjectListShowCommandsEventArgs) ' Check conditions, and add or remove ' commands in the detail view. If e.ListItem("Editable").Equals("No") Then ObjectList1.Commands.RemoveAt(0) ElseIf ObjectList1.Commands.Count < 1 Then ObjectList1.Commands.Add(New ObjectListCommand("Delete", "Delete")) End If End Sub Private Class Task Private _TaskName As String Private _Editable As String Private _Days As Integer Public Sub New(ByVal TaskName As String, _ ByVal Editable As String, ByVal Days As Integer) _TaskName = TaskName _Editable = Editable _Days = Days End Sub Public ReadOnly Property TaskName() As String Get Return _TaskName End Get End Property Public ReadOnly Property Editable() As String Get Return _Editable End Get End Property Public ReadOnly Property Days() As Integer Get Return _Days End Get End Property End Class </script> <html xmlns="http:'www.w3.org/1999/xhtml" > <body> <mobile:Form runat="server" id="Form1" > <mobile:ObjectList runat="server" id="ObjectList1" OnItemCommand="SelectCommand" OnShowItemCommands="ShowTaskDetail" > <Command Name="Delete" Text="Delete" /> </mobile:ObjectList> <mobile:Label runat="server" id="Label1" /> <mobile:Label runat="server" id="Label2" /> </mobile:Form> </body> </html>
Available since 1.1
Command
ObjectListCommandEventArgs
ItemCommand
ListCommandEventArgs
OnItemCommand
ObjectList Class
System.Web.UI.MobileControls Namespace
Introduction to the ObjectList Control
Creating Custom Mobile Controls
.jpeg?cs-save-lang=1&cs-lang=vb)