1

asp.net は初めてなので、どんな助けでも大歓迎です ありがとうございます。

製品名、価格、画像、およびデータリスト内のリンクボタンを含むデータリストがあり、表示されていない ProductID も保持しています。

LinkBut​​ton の 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);
    }
4

1 に答える 1

2

LinkBut​​ton コントロールの 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);
    }

お役に立てれば。

于 2012-12-02T03:02:25.560 に答える