[英]how can i get value of all controls created in runtime in C# asp.net
[英]How to dinamycally create runtime controls in asp.net/webforms c#?
我在具有這種結構的數據庫中有一個表:
字段順序
字段標簽
字段名稱
字段類型
寬度
高度
我想遍歷所有行並在我的頁面中創建控件,將它們放在經典表中 2 列 x X 行(每行一個控件)。
這是服務器端代碼:
using (MySqlConnection db = new MySqlConnection(myAppConnectionString))
{
string sql = "SELECT * FROM myTable WHERE idtemplate =" + templateID.ToString() + " ORDER BY field_order";
MySqlDataReader dr;
MySqlCommand cmd = new MySqlCommand(sql,db);
db.Open();
dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
string field_label = dr["field_label"].ToString();
string field_name = dr["field_name"].ToString();
string field_type = dr["field_type"].ToString();
string field_width = dr["width"].ToString();
string field_height = dr["height"].ToString();
switch (field_type)
{
case "Text":
Label lbl = new Label();
lbl.Text = field_label;
lbl.ID = "lbl" + field_name;
panelFields.Controls.Add(lbl);
TextBox txt = new TextBox();
txt.Text = "";
txt.ID = "txt" + field_name;
Unit ut = new Unit(field_width);
txt.Width = ut;
ut = new Unit(field_height);
txt.Height = ut;
panelFields.Controls.Add(txt);
break;
case "Number":
break;
case "Date":
break;
case "Time":
break;
}
}
}
}
使用panelFields.Controls.Add(myControl)
我將每個控件添加到面板中但彼此相鄰。
所以我的問題是:
1- 如何在 2 列 x N 行的表格中添加控件?
2- 如果我以這種方式添加控件,我是否可以從服務器端訪問以保存 TextBox 值?
謝謝
我解決了使用 HTML 標簽向 myPanel 添加“文字”控件的問題。
喜歡:
myPanel.Controls.Add(new LiteralControl(""));
myPanel.Controls.Add(new LiteralControl(" "));
....
myPanel.Controls.Add(new LiteralControl(""));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.