繁体   English   中英

如何在DataBound之后获取ListView中的DataItem的ID

[英]How to get Id of a DataItem in ListView after DataBound

我是ListView控件的新手。 我有一个列表视图来显示购物产品。 在每个数据项中,我都为“添加到购物车”按钮添加了一个链接按钮。 在我的场景中,单击此按钮会导致ShoppingCart.Instance.AddItem("Product GUID")调用。 我该怎么做?
我在链接按钮中设置CommandName="Select"并执行以下操作:

protected void ListView1_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)
{
    ListViewItem item = (ListViewItem)ListView1.Items[e.NewSelectedIndex];
    LinkButton lb = (LinkButton)item.FindControl("LinkButtonAddAndClose");
// Here i want to get selected Product Id...
}

但总是selectedIndex为零! 如何调用ShoppingCart.Instance.AddItem("Product GUID")并从DataItem获取产品ID?
注意: Eval("ID")获得产品GUID。

更新:
我为LinkBut​​ton的CommandArgument设置<%# Eval("ID")%> ,我想对此进行链接:

protected void LinkButtonAddAndClose_Click(object sender, EventArgs e)
{
    LinkButton lb = (LinkButton)sender;

    var productId = new Guid(lb.CommandArgument);

    ShoppingCart.Instance.AddItem(productId);
}

您可以使用ListView控件的itemcommand事件访问选定行内的控件:

protected void ListView1_ItemCommand(object sender, ListViewCommandEventArgs e)
{
   //for example i want to take commandargumetn atribute of current linkbutton
   string st= (e.Item.FindControl("LinkButtonAddAndClose") as LinkButton).CommandArgument;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM