![](/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.