2

我为网上商店类型的项目编写了一个 ASP 代码。有一种方法可以将 ProductID 添加到 cookie 并在产品数量上加 1。另一种方法读取 cookie,将 cookie 转换为数据表并将其放入 gridview。这个gridview 基本上就是shoppingcart.aspx 页面。

我现在需要的是一种将按钮字段添加到该 gridview 的方法,我可以在其中添加一个 ++ 按钮(如产品页面上的添加到购物车按钮),普通的 asp 按钮采用 aonclick="methodname"但这些在 gridview 中没有。

add1ToShoppingCart(string productId)
{[...]shoppingCartCookie[productId] = (amount + 1).ToString();}

这是我用于所有 ++ 按钮的代码。它需要 button.id (buttonID=productID)。所以我需要一种方法让所有按钮都是相同的图像,但是 buttonID 必须数据绑定到 productID 以便它可以以某种方式执行该方法(使用某种onclick="")。

在过去的几个小时里,我一直在寻找和搜索,但我似乎找不到任何东西。过去我在stackoverflow上找到了很多答案,所以我希望这里有人可以提供帮助。

提前致谢。

4

1 回答 1

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!

于 2012-06-10T17:18:42.057 回答