我有一個存儲某些表單的自定義字段的數據庫表。我從後面的代碼動態地構建這些表單,它工作,但它看起來很糟糕。我希望能夠將表格封裝在表格中。在動態添加表單元素時將HTML添加到服務器表單ASP.NET
我有以下代碼來動態創建表單元素。通過使用一個循環我可以爲每個自定義的創建一個標籤和輸入框字段
Label label = new Label();
label.Text = field["fieldname"];
newclientform.Controls.Add(label);
TextBox textinput = new TextBox();
textinput.ID = field["uiname"];
newclientform.Controls.Add(textinput);
所有靜態表單元素都正確地包裹在HTML,我可以寫入到aspx文件這一點,但這些都不動態元素被包裝在HTML中。 我嘗試以下,但沒有一個HTML的渲染
label.Text = "<tr><th>" + field["fieldname"] + "</th></tr>";
我如何包裝在這些HTML表單元素?
這是一個好主意,但我怎麼添加多個?我不知道會有多少自定義字段。可能是1可能是10.我如何創建具有唯一ID的多個佔位符? ASP.net不允許使用動態ID其他明智的我不需要使用代碼 –
添加到頁面的最佳方式是頁面是Ajax,WebForm有一些缺點,如頁面回發時,一些控件的數據將重置,您必須判斷if(Page.IsPostBack == true),特別是DropDownList。但是,如果您選擇Ajax,則只需將數據序列化到json中並寫入響應的流中。因此,使用JavaScript的「XMLHttpRequest」對象來接收和--- var obj = JSON.Prase(xmlHttpRequestObj);成爲一個對象,併爲(在obj中的屬性){包obj [屬性]成爲一個DOM,並添加到頁面}。對不起,我的英文很差,我不知道如何更改代碼樣式 –
PlaceHolder有能力添加任何金額控制------ placeHodlerId.Control.Add(ctrl1); placeHolder.Control.Add(CTRL2); placeHolder.Control.Add(CTRL3);多,沒問題。 –