2012-01-20 63 views
0

我期待創建一個頁面來測試/調查用戶。我將從保存到數據庫的管理頁面創建問題和答案選項。我需要弄清楚如何動態創建頁面來顯示這些信息,並能夠在保存時獲取信息。動態創建在線調查/測試

這是我一直在試圖添加所有的信息。

<asp:Label ID="lblPollText" runat="server" /> 
<asp:CheckBoxList ID="cblPollChoices" Visible="false" runat="server"> 
</asp:CheckBoxList> 

<asp:RadioButtonList ID="rblPollChoices" Visible="false" runat="server"> 
</asp:RadioButtonList> 

我最大的問題是以有用的方式獲取信息,所以我可以保存每個響應。我嘗試將上面的代碼添加到一個用戶面板並遞歸添加傳遞questionid的面板來加載它。我的大問題是在用戶點擊保存後重新獲取信息。我在這裏帶着這個問題沒有運氣Get UserControl from inside ControlCollection

我試過搜索谷歌一個很好的方式來做到這一點,但還沒有找到。我發現最好的是使用xml,我不想這樣做。

回答

1

我做了同樣的事情使用asp.net MVC ..多數民衆贊成更容易..但仍然可以做到這一點使用簡單的asp.net
u的一種方法是在客戶端使用jQuery創建表單最簡單的方法,我可以想到當用戶提交表單,那麼你可以得到所有的信息
Request.Form集合
現在,因爲它覺得你已經使Q &表格,並希望返回值。
由於您製作的控件是基於底層表單結構動態生成的,因此您必須在每個Page_Load()事件上創建控件。
然後您將能夠訪問teh值。
如果您的動態控件在某個容器控件中,您仍然必須生成它們,然後在ContainerControl.Controls屬性中查找它們,您可以在其中找到它們。 或你可以覆蓋一切,這裏也lok在request.form收集和解析它得到的值

0

我在做有點相同的項目。在我的情況下,我有一個ViewModel,其中包含問題的對象和Answers.I列表使用javascript來擴展Answers的列表,同時創建問題和答案,然後將它們插入數據庫。一旦我的ViewModel被填充,我可以再次使用ViewModel對象訪問信息並顯示它。在您正確顯示它之後,您可以輕鬆獲得用戶選擇的答案。要插入用戶的答案,您將需要數據庫中的另一個表來保存用戶的選擇。希望你知道如何去做。