DataListCommandEventArgs.CommandSource 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取命令源。
public:
property System::Object ^ CommandSource { System::Object ^ get(); };
public object CommandSource { get; }
member this.CommandSource : obj
Public ReadOnly Property CommandSource As Object
属性值
命令源。
示例
以下示例演示如何使用 CommandSource 属性来确定用户选择的命令。 然后,它会根据命令执行相应的操作。
<%@ 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>
注解
CommandSource使用属性确定引发事件的命令源。 此属性通常用于确定哪个命令引发事件。 然后,可以根据命令采取适当的操作。