Asp.net 单击按钮从数据列表中获取数据键值和标签文本?

Asp.net 单击按钮从数据列表中获取数据键值和标签文本?,asp.net,asp.net-4.0,datalist,Asp.net,Asp.net 4.0,Datalist,如何获取datalist中存在的Datakey和lable的值 我有一个图像按钮和链接按钮点击他们我试图得到,但我无法做到。 我不想使用Item_命令事件 怎么办 谢谢。如果要在单击ImageButton/LinkButton时获取数据键值,可以将数据键值设置为控件的CommandArgument属性,然后在单击处理程序中从CommandArgument属性获取值 <asp:ImageButton ID="ibtn" runat="server" CommandArgument='<

如何获取datalist中存在的Datakey和lable的值

我有一个图像按钮和链接按钮点击他们我试图得到,但我无法做到。 我不想使用Item_命令事件

怎么办

谢谢。

如果要在单击ImageButton/LinkButton时获取数据键值,可以将数据键值设置为控件的CommandArgument属性,然后在单击处理程序中从CommandArgument属性获取值

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

linkbutton的情况也一样。

在button click事件中,您可以执行以下操作来获取数据键和标签,假设它与按钮位于同一控件集合中:

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;

在命令事件中有什么问题?为什么不使用?没有问题,但我正在尝试通过imageClick事件和linkClick事件。有可能吗??如果是,请指导我。您可以获取DataKey值,但如果您有更多项目,则无法获取标签文本DataList@Muhammad:那么你的意思是说我只能在点击链接按钮时获取数据键值??在listview中,单击linkbutton或button可以从listview中的标签中获取值。如果需要同时获取这两个值,可以将这两个值绑定到CommandArgument,例如CommandArgument=34,labelText,然后拆分此值。但我建议您只将数据键值绑定到命令参数。一旦有了主键值,就可以从数据库中获取实体详细信息。