asp.net的新手,所以任何帮助都会很棒谢谢。
我有一个Datalist,它有产品名称,价格,图片和数据列表中的链接按钮,它还包含未显示的ProductID。
如何从LinkButton的onClick事件中获取当前的productID谢谢。
我的数据列表
<asp:DataList ID="dlProduct" runat="server" DataKeyField="ProductID" RepeatDirection="Horizontal" RepeatColumns="4" CellPadding="10" CellSpacing="10" >
<ItemTemplate>
<asp:Label ID="ProductNameLabel" runat="server" Text='<%# Eval("ProductName") %>' />
<br />Price:
<asp:Label ID="PriceLabel" runat="server" Text='<%# "$" + Eval("Price") %>' />
<br />
<asp:Image ID="Image1" runat="server" CssClass="ImageStyles" ImageUrl='<%# "GetImage.ashx?Id=" + Eval("PID") %>' BackColor="White" BorderStyle="Ridge" BorderColor="WhiteSmoke" />
<br />
<asp:LinkButton ID="btnAddToCart" OnClick="btnAddToCart_Click" runat="server"><img src="images/AddToCart.png" onmouseover="this.src='images/AddToCartMouseOver.png';" onmouseout="this.src='images/AddToCart.png';" /></asp:LinkButton>
</ItemTemplate>
</asp:DataList>
我的代码背后
protected void btnAddToCart_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Product ID = "+ PID.Text + "');</script>", false);
}
答案 0 :(得分:2)
使用LinkButton控件的CommandArgument属性。
像:
<asp:LinkButton ID="btnAddToCart"
CommandName="AddToCart"
CommandArgument='<%# Eval("ProductId") %>'
OnCommand="btnAddToCart_Command" runat="server">
然后在btnAddToCart_Command
中你可以获得这样的命令参数。
protected void btnAddToCart_Command(object sender, CommandEventArgs args)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Product ID = " + args.CommandArgument+ "');</script>", false);
}
希望这有帮助。