1

私のシナリオは次のとおりです。いくつかの製品に DataList があります。私の SqlDataSource はすべての値を取りますが、画像、名前、価格のみを表示します。アイテム テンプレートに表示される ProductID ラベルが false に設定されています。

各商品に画像ボタンを追加しました。このボタンをクリックすると、各商品の詳細ページに移動したいと思います。私の解決策は、 ProductID を詳細ページに渡すことです。しかし、私は何かが欠けていて、それを行う方法がわかりません。

私のボタン:

<asp:ImageButton ID="ImageButton1" runat="server" CommandArgument='<%# Eval("productID")%>'
                                ImageUrl="~/Graphics/profile_button.png" onclick="ImageButton1_Click" />

次にオンクリックします:

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {

            string productID = ???????
            string url;

            url = "~/ProductDetails.aspx?productid=" + ProductID;
            Response.Redirect(url);
        }

ご覧のとおり、CommandArgument の取得方法がわかりません。どうやってするか?

4

2 に答える 2

1

私はそれを手に入れたと思います。使用する

OnCommand="ImageButton1_Click"

(onclick の代わりに) 画像ボタンのマークアップと

protected void ImageButton1_Click(object sender, CommandEventArgs e)
{
     string productID = e.CommandArgument.ToString(); 
     //..
}
于 2012-03-07T13:39:33.203 に答える
1

以下を使用してください。

画像ボタンを取得しないで、画像コントロールを取得してアンカータグの間に配置します。

<a href="~/ProductDetails.aspx?productid=<%#Eval("ProductID")"><asp:Image ID="img" runat="server" ImageUrl="="~/Graphics/profile_button.png"> </a>    

このコードをデータリストに入れます。軽いコードです。

于 2012-03-07T14:14:05.680 に答える