Это, должно быть, моя особая удача, что сегодня я складываю с другой проблемой и во второй раз приезжаю сюда за помощью. И мне действительно нужна помощь в этом.Динамический обработчик событий для ListView?
У меня есть элемент управления listView, на котором у меня есть кнопка управления. Я пытаюсь добавить обработчик событий к этой кнопке, я много googled, прежде чем приходить сюда, но примеры, которые я нашел, либо не работают для меня, либо слишком сложны для моего понимания как новичок.
Что мне нужно, это добавить обработчик событий к кнопке, поэтому при нажатии кнопки какая-то функция (обработчик событий) будет выполняться на стороне сервера.
Вот код ASPX На вершине я Have
EnableEventValidation="false"
Тогда сам ListView:
List of all the books that are currently in the Library.
<table width="630" cellpadding="2" cellspacing="5"/>
<tr style="background-color:#DBE2E2;">
<th>Image</th>
<th>Book</th>
<th>Description</th>
</tr>
<asp:PlaceHolder ID="itemPlaceholder" runat="server" />
</table>
<p>
<asp:DataPager ID="pageTopics" runat="server" PageSize="5">
<Fields>
<asp:NextPreviousPagerField ShowFirstPageButton="false" ShowPreviousPageButton="true" ShowNextPageButton="false" />
<asp:NumericPagerField />
<asp:NextPreviousPagerField ShowFirstPageButton="false" ShowPreviousPageButton="false" ShowNextPageButton="true" ShowLastPageButton="false" />
</Fields>
</asp:DataPager>
</p>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td valign="top"> <br />
<asp:Image ID="book_img" ImageUrl='<%# Eval("book_img") %>' Height="100" Width="100" runat="server" />
</td>
<td valign="top"><p><b>Book Name: </b><asp:Label ID="book_name" runat="server" Text='<%# Eval("book_name") %>' /><br />
<b>Author: </b><asp:Label ID="book_author" runat="server" Text='<%# Eval("book_author") %>' /><br />
<p></td>
<td valign="top"><p><asp:Label ID="book_short_desc" runat="server" Text='<%# Eval("book_short_desc") %>' /><br />
<b>Sku id: </b><asp:Label ID="book_squ" runat="server" Text='<%# Eval("book_squ") %>' /><br />
<b>Arrived On: </b><asp:Label ID="book_arrived" runat="server" Text='<%# Eval("book_arrived") %>' />
<asp:HyperLink ID="bookDesc" runat="server" NavigateUrl='<%# "BookDesc.aspx?id=" + Eval("book_id") %>' Text="To read more..." />
<asp:Button ID="orderbook" runat="server" CommandName="order" CommandArgument="ordernow" Text="order now" />
</p></td>
</tr>
</ItemTemplate>
И в CodeBehind я пытаюсь выполнить следующий код:
override protected void OnInit(EventArgs e)
{
base.OnInit(e);
book_list.ItemCommand += new EventHandler<ListViewCommandEventArgs>(book_list_ItemCommand);
}
void book_list_ItemCommand(object sender, ListViewCommandEventArgs e)
{
testLabel.Text = e.CommandArgument.ToString();
//throw new NotImplementedException();
}
Однако при отладке book_list_ItemCommand не выполняется.
Мне очень нужна помощь в этом вопросе.
Заранее спасибо.