динамически создаваемый онлайн опрос / тест - PullRequest
0 голосов
/ 21 января 2012

Я хочу создать страницу для тестирования / опроса пользователя.Я буду создавать варианты вопросов и ответов на странице администратора, которая будет сохранена в базе данных.Мне нужно выяснить, как динамически создать страницу, чтобы отобразить их и иметь возможность получить информацию при сохранении.

Это то, к чему я пытался добавить всю информацию.

<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>

Моя самая большая проблема - получить информацию обратно в полезной форме, чтобы я мог сохранить каждый ответ.Я попытался добавить приведенный выше код в панель пользователя и рекурсивно добавить панели, передающие вопрос, чтобы загрузить его.Моя большая проблема заключалась в получении информации после того, как пользователь нажал «Сохранить».Я поднял этот вопрос здесь безуспешно Получить UserControl из ControlCollection

Я пытался найти в Google хороший способ сделать это, но пока не нашел его.Лучшее, что я нашел, это использование xml, чего я не хочу делать.

Ответы [ 2 ]

1 голос
/ 21 января 2012

я сделал то же самое, используя asp.net MVC ... это проще ... но все же вы можете сделать это, используя простой asp.netОдним из способов для вас является создание форм с использованием jquery на стороне клиента, что является следующим самым простым подходом, о котором я могу подумать, когда пользователь отправляет формы, тогда вы можете получить всю информацию вRequest.Form Коллекциясейчас, потому что такое чувство, что вы уже создали форму вопросов и ответов и хотите вернуть значения.поскольку созданные вами элементы управления генерируются динамически на основе базовой структуры формы, вам придется создавать элементы управления для каждого события Page_Load().тогда вы сможете получить доступ к значениям.если ваши динамические элементы управления находятся в каком-либо элементе управления контейнером, вам все равно придется их сгенерировать, а затем посмотреть их в свойстве ContainerControl.Controls, где вы их найдете.или вы можете переопределить все, и вот также lok в коллекции request.form и проанализировать ее, чтобы получить значения

0 голосов
/ 28 апреля 2015

Я делаю что-то вроде того же проекта.В моем случае у меня есть ViewModel, который содержит объект Вопроса и список Ответов. Я использую javascript, чтобы расширить список Ответов при создании Вопроса и Ответа, а затем вставить их в базу данных.Как только моя ViewModel заполнена, я могу получить доступ к информации, используя снова объект ViewModel, и отобразить ее.После того, как вы правильно его отобразите, вы можете легко получить то, что пользователь выбрал для ответа.Чтобы вставить ответ пользователя, вам понадобится еще одна таблица в базе данных, которая сохраняет выбор пользователя.Надеюсь, вы поняли, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...