![](/img/trans.png)
[英]ASP.NET Gridview ButtonField onclick fires containing row's onclick event
[英]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.