paradise_wolf
10-02-2006, 07:31 PM
I have a button ( add to cart ) inside a DataList control but I need to add an additional button ( buy now ) and its event handler but I do not know how to do that because probably I can’t use the same “CommandArgument” twice.
Here is the relevant code:
~~~~~~~~~~~~~~~~~~~~
<asp:DataList ID="promotionlist" Runat="server" OnItemCommand="promotionlist_ItemCommand" >
<ItemTemplate>
…
<asp:ImageButton ID="AddToCart" ImageUrl="~/Images/addtocart.gif" CommandArgument='<%# Eval("ProductID") %>' runat="server" />
<asp:ImageButton ID="BuyNow" ImageUrl="~/Images/buynow.gif" CommandArgument='<%# Eval("ProductID")%>' runat="server" />
..
</ItemTemplate>
</asp:DataList>
~~~~~~~~~~~~~~~~~~~~
C# code:
~~~~~~~~~~~~~~~~~~~~
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
promotionlist.DataSource = CatalogAccess.GetProductsOnPromotion();
promotionlist.DataBind();
}
}
protected void promotionlist_ItemCommand(object source, DataListCommandEventArgs e)
{
string productId = e.CommandArgument.ToString();
ShoppingCartAccess.AddItem(ProductId);
}
~~~~~~~~~~~~~~~~~~~~
Here is the relevant code:
~~~~~~~~~~~~~~~~~~~~
<asp:DataList ID="promotionlist" Runat="server" OnItemCommand="promotionlist_ItemCommand" >
<ItemTemplate>
…
<asp:ImageButton ID="AddToCart" ImageUrl="~/Images/addtocart.gif" CommandArgument='<%# Eval("ProductID") %>' runat="server" />
<asp:ImageButton ID="BuyNow" ImageUrl="~/Images/buynow.gif" CommandArgument='<%# Eval("ProductID")%>' runat="server" />
..
</ItemTemplate>
</asp:DataList>
~~~~~~~~~~~~~~~~~~~~
C# code:
~~~~~~~~~~~~~~~~~~~~
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
promotionlist.DataSource = CatalogAccess.GetProductsOnPromotion();
promotionlist.DataBind();
}
}
protected void promotionlist_ItemCommand(object source, DataListCommandEventArgs e)
{
string productId = e.CommandArgument.ToString();
ShoppingCartAccess.AddItem(ProductId);
}
~~~~~~~~~~~~~~~~~~~~