2011-05-25 71 views
0

如何获得datakey中存在的DataKey和lable的值?通过点击按钮获取Datalist的datakey值和标签文本?

我有一个图像按钮和linkbutton点击他们我想得到,但我无法做到。 我不想使用Item_Command事件。

怎么办?

谢谢。

+0

问题是什么时候在命令事件你为什么不想用? – 2011-05-25 14:20:30

+0

没有问题,但我试图通过imageClick事件和linkClick事件。可能吗??如果是的话请引导我。 – 2011-05-25 17:25:34

+0

你可以得到DataKey值,但是如果你在DataList中有更多的项目,你将无法获得标签文本 – 2011-05-25 17:28:18

回答

0

如果你想获得的点击ImageButton/LinkButtonData Key值,可以将DataKey值设置为您控制的CommandArgument属性,然后单击处理程序,你可以从CommandArgument属性的值。

<asp:ImageButton ID="ibtn" runat="server" CommandArgument='<%# Eval("DataKeyName")%>' 
ImageUrl="~/Images/edit.png"></asp:ImageButton> 

linkbutton也一样。

0

里面的按钮单击事件,您可以执行以下操作来获得DataKey和标签(假设它是相同的控制集合中的按钮):

var button = sender as Button; 

if (button == null) return; 

var dataListItem = button.NamingContainer as DataListItem; 

if (dataListItem == null) return; 

var currentKey = DataList1.DataKeys[dataListItem.ItemIndex]; 

var myLabel = button.Parent.Controls.Cast<Control>().FirstOrDefault(x => x.ID == "testLabel") as Label; 

if (myLabel == null) return; 

var myLabelText = myLabel.Text;