【发布时间】:2017-08-30 00:25:35
【问题描述】:
我有一个 LinkButtons 中继器和 ItemCommand 事件。我需要获取创建链接按钮的数据对象。
我的 DataSource 是 List 所以 ItemCommand 我需要 MyObject object = ???
【问题讨论】:
-
我不认为你可以。不过,您也许可以使用 ListView 而不是 Repeater。
我有一个 LinkButtons 中继器和 ItemCommand 事件。我需要获取创建链接按钮的数据对象。
我的 DataSource 是 List 所以 ItemCommand 我需要 MyObject object = ???
【问题讨论】:
你在找这个吗?这将使用CommandArgument 将 ID 发送到后面的代码,以便对其进行处理。
<asp:LinkButton ID="LinkButton1" CommandArgument='<%# Eval("ID") %>' runat="server" CommandName="myCommand">LinkButton</asp:LinkButton>
在后面的代码中:
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "myCommand")
{
string myID = e.CommandArgument.ToString();
}
}
或者您可以使用CommandArgument='<%# Container.ItemIndex %>'。然后你就知道了行号,并且可以访问你源中的相应索引。
【讨论】:
Object DataItem = (Object) e.Item.DataItem;
然后使用DataItem。
【讨论】: