一定是我的特别好运,今天我堆叠了另一个问题,第二次来这里寻求帮助。我真的需要帮助。
我有一个listView控件,我有一个按钮控件。我正在尝试向这个按钮添加事件处理程序,在来到这里之前我搜索了很多东西,但我发现的例子要么对我不起作用,要么对我作为初学者的理解太复杂。
我需要的是向按钮添加事件处理程序,因此当按下按钮时,某些功能(事件处理程序)将在服务器端执行。
这是aspx的代码 在顶部我有
EnableEventValidation="false"
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中我尝试执行以下代码:
<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>
然而,当我调试时,book_list_ItemCommand没有执行。
我真的需要帮助。
提前谢谢。
答案 0 :(得分:1)
在我的头撞墙后,我实际上找到了一条路。 我会在这里发布,所以也许有类似问题的人会为自己找到解决方案。
这是我在ListView中的按钮
<asp:Button ID="orderbook" runat="server" CommandName="order" CommandArgument="ordernow" OnCommand="Order_Command" Text="order now" />
在代码背后我加了
protected void Order_Command(object sender, CommandEventArgs e)
{
if (e.CommandName == "order")
{
testLabel.Text = e.CommandName.ToString();
}
}
现在,当我点击按钮时,它会捕捉到该事件。