DataList 與 Repeater 內建編輯/刪除按鈕 (CommandName=Edit/Delete),亦可自訂按鈕執行專屬伺服器邏輯。
<asp:Repeater ID="rptCategories" runat="server" OnItemCommand="rptCategories_ItemCommand">
<ItemTemplate>
<b><%# Eval("CategoryName") %></b>
<asp:LinkButton ID="btnShow" runat="server"
CommandName="ShowProducts"
CommandArgument='<%# Eval("CategoryID") %>'
Text="顯示產品" />
<br />
</ItemTemplate>
</asp:Repeater>
<asp:GridView ID="gvProducts" runat="server" />
protected void rptCategories_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "ShowProducts")
{
int catId = Convert.ToInt32(e.CommandArgument);
// 查詢產品並繫結
gvProducts.DataSource = GetProductsByCategory(catId);
gvProducts.DataBind();
}
}