根据数据库表值创建标签或其他控件

时间:2012-02-21 08:45:23

标签: c# asp.net c#-4.0

我想根据数据库列值创建标签或文本框。 例如:             我有一个数据库表列值休闲假,病假,年假等。我想为上面的列值创建动态标签和相应的文本框。

我想要像这样的控件..

         Casual Leave :  Textbox1
         Medical Leave:  Textbox2
         Annul Leave  :  Textbox3
         etc based on table value
我怎么办?我不能这样做。请帮帮我......

2 个答案:

答案 0 :(得分:3)

试试这个

<asp:Panel Id="pnl" runat ="server">
    </asp:Panel>


Label lblT = null;
            TextBox txt = null;
            Table tb = new Table();
            pnl.Controls.Add(tb);
            DataTable table = DT_GeneratedOp();
            foreach (DataColumn dr in table.Columns)
            {
                TableRow tr = new TableRow();
                TableCell tc = new TableCell();
                TableCell tc2 = new TableCell();
                lblT = new Label();
                txt = new TextBox();
                lblT.Text = dr.ColumnName + ":";
                txt.Text = table.Rows[0][dr].ToString();
                tc.Controls.Add(lblT);
                tc2.Controls.Add(txt);
                tr.Cells.Add(tc);
                tr.Cells.Add(tc2);
                tb.Rows.Add(tr);
            }

答案 1 :(得分:1)

使用ASP转发器。真的很简单。您可以定义一个控件模板,用于在绑定到数据源时创建动态实例(或您的案例中的行)。