Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ObjectList.ItemCommand-Ereignis

 

Veröffentlicht: Oktober 2016

Tritt auf, wenn der Benutzer einen Befehl auswählt, das zugeordnete ein ObjectList Element. Diese API ist veraltet. Informationen über das Entwickeln mobiler ASP.NET-Anwendungen finden Sie unter der www.asp.net/mobile Website.

Namespace:   System.Web.UI.MobileControls
Assembly:  System.Web.Mobile (in System.Web.Mobile.dll)

public event ObjectListCommandEventHandler ItemCommand

Wenn ein ItemCommand -Ereignishandler definiert ist, die ObjectList benachrichtigt, wenn ein Elementereignis durch Benutzereingriff generiert wird.

Beim Rendern einer Objektliste unter Verwendung von Vorlagen, die ItemCommand -Ereignishandler durch den Eventbubblingmechanismus von ASP.NET aufgerufen. Der Ereignishandler wird ein Argument des Typs übergeben ObjectListCommandEventArgs, die Informationen über das Quellelement enthält und die CommandName -Eigenschaft des Steuerelements, das das Ereignis generiert hat. Dadurch können Sie ein einzelnes Element mit mehreren zugeordneten Interaktionen rendern.

Bei Standardrendering rendert das Steuerelement die Befehle für die Objektliste als Link definiert. Wenn der Benutzer auf einen Link klickt der ItemCommand -Ereignishandler mit einem Argument des Typs aufgerufen ObjectListCommandEventArgs, die Informationen über das Quellelement enthält. Der Wert in der CommandName Eigenschaft ist der Name des Befehls, der der Benutzer aufgerufen.

Im folgenden Codebeispiel wird veranschaulicht, wie die ItemCommand Ereignis. Die CommandName -Eigenschaft gibt die auszuführende Aktion an.

System_CAPS_noteHinweis

Im folgenden Codebeispiel wird das Einzeldatei-Codemodell verwendet und kann nicht ordnungsgemäß funktionieren, wenn Sie direkt in eine Code-Behind-Datei kopiert. Dieses Codebeispiel muss in eine leere Textdatei kopiert werden, die einer ASPX-Erweiterung. Weitere Informationen finden Sie unter ASP.NET Web Forms Page Code Model.

<%@ Page Language="C#" 
    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.
    ArrayList arr = new ArrayList();
    public void Page_Load(Object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            // 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();
        }
    }

    private void ItemCommand_Click(Object sender, 
        ObjectListCommandEventArgs e)
    {
        // Get the array from the Session object
        arr = (ArrayList)Session["MyArrayList"];

        // Remove selected item from the ObjectLis
        int i = 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;
    }

    void ItemCommands_Show(Object sender, 
        ObjectListShowCommandsEventArgs e) 
    {
        // Check conditions, and add or remove 
        // commands in the detail view.
        if (e.ListItem["Editable"].Equals("No"))
            ObjectList1.Commands.RemoveAt(0);
        else if (ObjectList1.Commands.Count < 1)
            ObjectList1.Commands.Add(new 
                ObjectListCommand("Delete", "Delete"));
    }

    private class Task
    {
        private string _TaskName;
        private string _Editable;
        private int _Days;
        public Task(string TaskName, string Editable, int Days)
        {
            _TaskName = TaskName;
            _Editable = Editable;
            _Days = Days;
        }
        public string TaskName
        { get { return _TaskName; } }
        public string Editable
        { get { return _Editable; } }
        public int Days
        { get { return _Days; } }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<body>
    <mobile:Form runat="server" id="Form1" >
        <mobile:ObjectList runat="server" id="ObjectList1" 
            OnItemCommand="ItemCommand_Click" 
            OnShowItemCommands="ItemCommands_Show" >
            <Command Name="Delete" Text="Delete" />
        </mobile:ObjectList>
        <mobile:Label runat="server" id="Label1" />
        <mobile:Label runat="server" id="Label2" />
    </mobile:Form>
</body>
</html>

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: