2012-01-20 34 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对象访问信息并显示它。在您正确显示它之后,您可以轻松获得用户选择的答案。要插入用户的答案,您将需要数据库中的另一个表来保存用户的选择。希望你知道如何去做。