英語不是我的母語;請原諒打字錯誤。動態創建不同種類的網頁控件
我正在創建一個調查類型的應用程序,我不知道我應該怎麼做,所以我一直在做一些試驗和錯誤。
我有一個問題類
public class Question
{
public int QuestionID;
public string QuestionText;
public int InputTypeID;
public List<WebControl> Controls;
public Question()
{
//initialize fields;
}
internal Question(int id, string text, int inputTypeId)
{
//assign parameters to fields
switch(inputTypeId)
{
case 1:
//checkbox
break;
case 2:
//textbox
TextBox t = new TextBox();
Controls = new List<WebControl>();
Controls.Add(t);
break;
...
}
}
}
我Question.aspx看起來是這樣的:
<asp:Repeater ID="repeater" runat="server">
<ItemTemplate>
//Want to display a control dynamically here
</ItemTemplate>
</asp:Repeater>
我試過,但它顯然沒有奏效...
<asp:Repeater ID="repeater" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "Controls") %>
</ItemTemplate>
</asp:Repeater>
和我剛剛得到這個。
System.Collections.Generic.List`1[System.Web.UI.WebControls.WebControl] System.Collections.Generic.List`1
一個問題可以有
- 一個文本框
- 單選按鈕列表
- 複選框列表
在這種情況下,應我的問題階層有List<WebControl>
或只是WebControl
?
另外,我怎樣才能渲染中繼器內的webcontrol?
我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-03-13 20:39:18
哦,我明白了。謝謝:) – kabichan 2013-03-13 20:40:13