DataListCommandEventArgs.CommandSource Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Quelle des Befehls ab.
public:
property System::Object ^ CommandSource { System::Object ^ get(); };
public object CommandSource { get; }
member this.CommandSource : obj
Public ReadOnly Property CommandSource As Object
Eigenschaftswert
Die Quelle des Befehls.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Sie die CommandSource -Eigenschaft verwenden, um den vom Benutzer ausgewählten Befehl zu bestimmen. Anschließend wird die entsprechende Aktion basierend auf dem Befehl ausgeführt.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>DataListCommandEventArgs Example</title>
<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 id="form1" 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="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>DataListCommandEventArgs Example</title>
<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 id="form1" 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>
Hinweise
Verwenden Sie die CommandSource -Eigenschaft, um die Befehlsquelle zu ermitteln, die das Ereignis ausgelöst hat. Diese Eigenschaft wird häufig verwendet, um zu bestimmen, welcher Befehl das Ereignis auslöst. Anschließend können Sie basierend auf dem Befehl entsprechende Maßnahmen ergreifen.