получить значение datakey и текст метки от Datalist по нажатию кнопки? - PullRequest
0 голосов
/ 25 мая 2011

как получить значение Datakey и lable, которое присутствует внутри списка данных?

У меня есть кнопка с изображением и кнопка ссылки на них, которые я пытаюсь получить, но не могу. я не хочу использовать событие Item_Command.

Как это сделать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 25 мая 2011

Внутри события нажатия кнопки вы можете сделать следующее, чтобы получить 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;
0 голосов
/ 25 мая 2011

Если вы хотите получить значение Data Key по клику ImageButton/LinkButton, вы можете установить значение DataKey для свойства CommandArgument вашего элемента управления, а затем в обработчике кликов вы можете получить значение изCommandArgument свойство.

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

То же самое относится и к кнопке связи.

...