我为网上商店类型项目编写了一个ASP代码。有一种方法可以将ProductID添加到cookie中,并将产品数量加1。 另一种方法是读取cookie,将cookie转换为数据表并将其放入gridview中。这个gridview基本上是shoppingcart.aspx页面。
我现在需要的是一种向gridview添加按钮字段的方法,我可以在其中添加++按钮(如产品页面上的添加到购物车按钮),普通的asp按钮需要onclick="methodname"
但是这些在gridview中没有。
add1ToShoppingCart(string productId)
{[...]shoppingCartCookie[productId] = (amount + 1).ToString();}
这是我用于所有++按钮的代码。它需要button.id(buttonID = productID)。因此我需要一种方法让所有按钮都是相同的图像,但是buttonID必须数据绑定到productID,这样它才能以某种方式执行该方法(使用某种onclick=""
)。
过去几个小时我看了看谷歌,但我似乎找不到任何东西。在过去,我在stackoverflow上找到了很多答案,所以我希望这里有人可以提供帮助。
提前致谢。
答案 0 :(得分:8)
您可以使用模板字段:
<asp:TemplateField ItemStyle-Width="33px" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle"
ShowHeader="false" HeaderStyle-Height="40px">
<ItemTemplate>
<asp:ImageButton ID="btnAddToCard" runat="server" ImageUrl="~/Images/btnAddToCard.png" CausesValidation="false"
CommandName="AddToCard" CommandArgument='<%# Eval("ID") %>'
/>
</ItemTemplate>
<HeaderStyle Height="40px"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" Width="33px"></ItemStyle>
</asp:TemplateField>
并在您的C#代码后面创建gridview的以下事件并执行您想要的操作:
protected void GV_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "AddToCard")
{
//Write code to add to card
}
}
GV是我的GridView的ID!