none
怎样动态生成一组无法确定个数的按钮 RRS feed

  • 问题

  • 以下代码会生成一张产品列表,我希望表中每一行产品名称都是一个按钮,点击某个按钮,会在本网页中显示该产品的详细信息

            protected void Page_Load(object sender, EventArgs e)
            {
                int index = 1; lblHad1.Text = "<table border=0><tr><td>序号</td><td>产品名称(编号)</td><td>产品价格</td></tr>";

                string strConn = "server=CHH-MACBOOK;database=YoungSapling_DB;integrated security=true;";//设定连接数据库字条串

                string strSql00 = "select ID,GoodsName,Price from GoodsID where ID like 'CP%'";

                SqlConnection conn00 = new SqlConnection(strConn);
                SqlCommand comm00 = new SqlCommand(strSql00, conn00);
                conn00.Open();
                SqlDataReader dtrd00 = comm00.ExecuteReader();
               
                while (dtrd00.Read())
                {
                    Button btnGoodsID[index] = new Button();
                    lblHad1.Text += "<tr><td>" + (index++).ToString() + "</td><td>" + dtrd00["GoodsName"].ToString() + "(" + dtrd00["ID"].ToString() + ")" + "</td><td>&nbsp;&nbsp;&nbsp;&nbsp;" + dtrd00["Price"].ToString() + "</td></tr>";
                }

                lblHad1.Text += "</table>";
                dtrd00.Close(); conn00.Close();

            }

    2012年11月8日 13:58

答案

全部回复

  • 试图把动态按钮放入一个List<Button>中,因为这个List本身就是泛型的动态数组。

    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2012年11月9日 1:01
    版主
  • 每个按钮实际都是一个html标记,你按照你的规律使用循环即可,注意按钮点击的连接需要根据你产品标记(产品id等标记信息)改变即可。

    family as water

    2012年11月9日 6:03
  • 怎么去用List<Button>,能不能直接给我代码。

    实际上我就是想把下面循环中的每个“dtrd00["GoodsName"].ToString() ”都做成按钮,怎么做

     while (dtrd00.Read())
                {

                    lblHad1.Text += "<tr><td>" + (index++).ToString() + "</td><td>" + dtrd00["GoodsName"].ToString() + "(" + dtrd00["ID"].ToString() + ")" + "</td><td>&nbsp;&nbsp;&nbsp;&nbsp;" + dtrd00["Price"].ToString() + "</td></tr>";
                }


    2012年11月9日 8:39
  • 怎么去用List<Button>,能不能直接给我代码。

    实际上我就是想把下面循环中的每个“dtrd00["GoodsName"].ToString() ”都做成按钮,怎么做

     while (dtrd00.Read())
                {

                    lblHad1.Text += "<tr><td>" + (index++).ToString() + "</td><td>" + dtrd00["GoodsName"].ToString() + "(" + dtrd00["ID"].ToString() + ")" + "</td><td>&nbsp;&nbsp;&nbsp;&nbsp;" + dtrd00["Price"].ToString() + "</td></tr>";
                }


    这个是不是你想要的效果:

    <button type="button">dtrd00["GoodsName"].ToString()</button>

    2012年11月12日 2:53
  • 是应该这样的,谢谢
    2012年11月14日 11:40