ASP.net C# Gridview ButtonField onclick 事件

2023-12-01

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

我现在需要的是一种向该 gridview 添加按钮字段的方法,我可以在其中添加 ++ 按钮(如产品页面上的添加到购物车按钮),普通的 ASP 按钮需要onclick="methodname"但网格视图中的这些却没有。

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

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

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

提前致谢。


您可以使用模板字段:

                     <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!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.net C# Gridview ButtonField onclick 事件 的相关文章

随机推荐