DataListCommandEventArgs.CommandSource Property
Gets the source of the command.
[Visual Basic] Public ReadOnly Property CommandSource As Object [C#] public object CommandSource {get;} [C++] public: __property Object* get_CommandSource(); [JScript] public function get CommandSource() : Object;
Property Value
The source of the command.
Remarks
Use the CommandSource property to determine the command source that raised the event. This property is commonly used to determine which command raises the event. You can then take appropriate action, based on the command.
Example
[Visual Basic, C#] The following example demonstrates how to use the CommandSource property to determine the command selected by the user. It then performs the appropriate action based, on the command.
[Visual Basic] <%@ 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> [C#] <%@ 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>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
DataListCommandEventArgs Class | DataListCommandEventArgs Members | System.Web.UI.WebControls Namespace | DataList | CancelCommand | DeleteCommand | EditCommand | ItemCommand | UpdateCommand