Полагаю, вам нужно значение CommandArgument
в Repeater1_ItemCommand
. Но если вы попытаетесь привести отправителя к LinkButton, он не будет работать, потому что Отправитель - это Повторитель, а не кнопка внутри.
Итак, приведите CommandSource и получите правильное значение.
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
LinkButton lb = e.CommandSource as LinkButton;
Label1.Text = lb.CommandArgument;
}
Вы не можете привязать клик tr
напрямую, поэтому вам придется использовать хитрость. Вы можете использовать jQUery для установки щелчка LinkButton на саму строку.
<table border="1" id="Repeater1Table">
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<tr>
<td>Click here</td>
<td>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="PlayPrev" CommandArgument='<%#Eval("Id") %>' Text='<%#Eval("Name") %>' CssClass="name"></asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
<script type="text/javascript">
$(document).ready(function () {
$("#Repeater1Table tr").each(function () {
var href = $(this).find(".name").prop("href").split(":")[1];
$(this).attr("onclick", href);
});
});
</script>