[英]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。
更新:
我为LinkButton的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.