如何从动态创建的表单中获取用户输入
我正在构建一个 ASP.NET 网站,允许用户创建和进行测试。测试可以包含各种类型的问题(多项选择、对/错、论文等)。由于测试的动态性质,我正在创建带有重复器的“参加测试”页面。
我现在的问题是:如何得到用户的答案?对于固定数量/类型的问题,这很简单,但我不确定如何从具有动态创建的 ID 的项目中获取答案,或者如何将可变数量的答案传递回我的数据库。
编辑: 我在此处找到了答案。
I am building an ASP.NET website that allows users to create and take tests. Tests can contain various types of questions (multiple choice, true/false, essay, etc.). Because of the dynamic nature of the tests, I am creating the "Take Test" page with repeaters.
My problem now is: how can I get the user's answers? With a fixed number/type of questions this would be simple, but I'm not sure how to grab answers from items with dynamically created IDs or how to pass a variable number of answers back to my database.
Edit:
I found my answer here.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用Request.Form
,但这是使用FindControl 和Repeater 的另一种方法:
您可以对每个RepeaterItem 使用FindControl 方法,并通过ID 在其中查找所需的控件。
ASPX 文件:
You can use Request.Form
But Here is Another approach using FindControl and Repeater:
you can use FindControl method with each RepeaterItem and find desired control inside it by ID.
ASPX file:
如果您使用Asp.Net MVC,可以参考这篇文章。 模型绑定到集合
如果其网络表单您始终可以访问通过 Request.Form 集合提交的每个输入。
If you are using Asp.Net MVC you can reference this article. Model Bind To Collection
If its webforms you can always access each of the inputs submitted via the Request.Form collection.
这是我最终对每种问题类型所做的事情,基于包括 这个。
Here is what I ended up doing for each question type, based on links including this one.