繁体   English   中英

ASP.net C#Gridview ButtonField onclick事件

[英]ASP.net C# Gridview ButtonField onclick event

我已经为网上商店类型的项目编写了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="" )。

在过去的几个小时里,我一直在寻找和搜索Google,但似乎找不到任何东西。 过去我在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!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM