Freigeben über


DataListCommandEventArgs.CommandSource-Eigenschaft

Ruft die Quelle des Befehls ab.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public ReadOnly Property CommandSource As Object
'Usage
Dim instance As DataListCommandEventArgs
Dim value As Object

value = instance.CommandSource
public Object CommandSource { get; }
public:
property Object^ CommandSource {
    Object^ get ();
}
/** @property */
public Object get_CommandSource ()
public function get CommandSource () : Object

Eigenschaftenwert

Die Quelle des Befehls.

Hinweise

Verwenden Sie die CommandSource-Eigenschaft, um die Befehlsquelle zu ermitteln, die das Ereignis ausgelöst hat. Diese Eigenschaft wird i. A. zum Bestimmen des Befehls verwendet, mit dem das Ereignis ausgelöst wurde. Anschließend können Sie auf der Grundlage des Befehls die entsprechende Aktion ausführen.

Beispiel

Das folgende Beispiel veranschaulicht, wie mit der CommandSource-Eigenschaft der vom Benutzer ausgewählte Befehl ermittelt wird. Anschließend wird auf der Grundlage des Befehls die entsprechende Aktion ausgeführt.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
<head>
 
   <script language="VB" runat="server">
 
    Function CreateDataSource() As ICollection
        
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        ' Create a DataTable.
        dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        dt.Columns.Add(New DataColumn("DateTimeValue", GetType(DateTime)))
        
        ' Create sample data.
        Dim i As Integer
        For i = 1 To 9
            dr = dt.NewRow()
            dr(0) = i
            dr(1) = "Item " & i.ToString()
            dr(2) = DateTime.Now.ToShortTimeString()
            dt.Rows.Add(dr)
        Next i
        
        
        ' Return a DataView to the DataTable.
        Dim dv As New DataView(dt)
        Return dv
    End Function 'CreateDataSource
     

    Sub Page_Load(sender As Object, e As EventArgs)
        
        If Not IsPostBack Then
            BindList()
        End If 
    End Sub 'Page_Load


    Sub BindList()
        
        DataList1.DataSource = CreateDataSource()
        DataList1.DataBind()
    End Sub 'BindList
     

    Sub DataList_ItemCommand(sender As Object, e As DataListCommandEventArgs)
        If CType(e.CommandSource, LinkButton).CommandName = "select" Then
            DataList1.SelectedIndex = e.Item.ItemIndex
        End If 
        BindList()
    End Sub 'DataList_ItemCommand
     
   </script>
 
</head>
<body>
 
   <form runat=server>

      <h3>DataListCommandEventArgs Example</h3>
 
      <asp:DataList id="DataList1"                                                
                    GridLines="Both"                                                       
                    OnItemCommand="DataList_ItemCommand"
                    runat="server">

         <HeaderTemplate>
            Items
         </HeaderTemplate>

         <ItemTemplate>
            <asp:LinkButton id="button1"
                            Text="Show details" 
                            CommandName="select" 
                            runat="server"/>
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>
         </ItemTemplate>

         <SelectedItemTemplate>
            Item:
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>
            <br>
            Order Date:
            <%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %>
            <br>
            Quantity:
            <%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N1}") %>
            <br>
         </SelectedItemTemplate>
 
      </asp:DataList>

   </form>
 
</body>
</html>
   
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
<head>
 
   <script language="c#" runat="server">
 
      ICollection CreateDataSource() 
      {
         
         DataTable dt = new DataTable();
         DataRow dr;
 
         // Create a DataTable.
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("DateTimeValue", typeof(DateTime)));
 
         // Create sample data.
         for (int i = 1; i <= 9; i++) 
         {
            dr = dt.NewRow();
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = DateTime.Now.ToShortTimeString();
            dt.Rows.Add(dr);
         }
          
 
         // Return a DataView to the DataTable.
         DataView dv = new DataView(dt);
         return dv;
         
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
         
         if (!IsPostBack)
            BindList();
 
      }
 
      void BindList() 
      {

         DataList1.DataSource = CreateDataSource();
         DataList1.DataBind();

      }
     
      void DataList_ItemCommand(object sender, DataListCommandEventArgs e) 
      {          
         if (((LinkButton)e.CommandSource).CommandName == "select")
            DataList1.SelectedIndex = e.Item.ItemIndex;
         
         BindList();
      }
 
   </script>
 
</head>
<body>
 
   <form runat=server>

      <h3>DataListCommandEventArgs Example</h3>
 
      <asp:DataList id="DataList1"                                                
                    GridLines="Both"                                                       
                    OnItemCommand="DataList_ItemCommand"
                    runat="server">

         <HeaderTemplate>
            Items
         </HeaderTemplate>

         <ItemTemplate>
            <asp:LinkButton id="button1"
                            Text="Show details" 
                            CommandName="select" 
                            runat="server"/>
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>
         </ItemTemplate>

         <SelectedItemTemplate>
            Item:
            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>
            <br>
            Order Date:
            <%# DataBinder.Eval(Container.DataItem, "DateTimeValue", "{0:d}") %>
            <br>
            Quantity:
            <%# DataBinder.Eval(Container.DataItem, "IntegerValue", "{0:N1}") %>
            <br>
         </SelectedItemTemplate>
 
      </asp:DataList>

   </form>
 
</body>
</html>
   

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

DataListCommandEventArgs-Klasse
DataListCommandEventArgs-Member
System.Web.UI.WebControls-Namespace
DataList-Klasse
DataList.CancelCommand-Ereignis
DataList.DeleteCommand-Ereignis
DataList.EditCommand-Ereignis
DataList.ItemCommand-Ereignis
DataList.UpdateCommand-Ereignis

Weitere Ressourcen

DataList-Webserver-Steuerelement