У меня есть страница, которая, в зависимости от ввода с предыдущей страницы, содержит различное количество разных вопросов, извлеченных из базы данных. Кажется, я не могу найти пример этого онлайн: для каждого вопроса, который отображается, мне нужно программно генерировать DropDownList, чтобы пользователь мог выбрать «да» или «нет» для каждого из этих вопросов. Надеюсь, кто-то здесь может дать мне какое-то направление, где искать. Благодарю.Программно создавая WebControls
2
A
ответ
3
Возможно, вам лучше всего использовать элемент управления Repeater с шаблоном, который только содержит DropDownList со статическими элементами списка. Что-то вроде этого:
<asp:Repeater runat="server" id="questionRepeater">
<HeaderTemplate>
//some html
</HeaderTemplate>
<ItemTemplate>
<div align=center>
<asp:Label runat="server"><%# DataBinder.Eval(Container.DataItem,"questionColumn")%></asp:Label>
<asp:DropDownList runat="server">
<asp:ListItem Text="Yes" Value="1" />
<asp:ListItem text="No" Value="0" />
</asp:DropDownList>
</ItemTemplate>
</asp:Repeater>
Затем в код позади, вы можете выполнить запрос и привязать результаты к ретранслятору.
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
SqlConnection db = new SqlConnection("Server=server;UID=uid;PWD=password;Database=whatever");
string sSQL = "Select questionColumn from Questions";
SqlCommand cmd = new SqlCommand(sSQL, conDotNet);
db.Open();
SqlDataReader dtrCat = cmd.ExecuteReader();
questionRepeater.DataSource = dtrCat;
questionRepeater.DataBind();
}
}
2
это псевдо, но может помочь ...
//essentially, run through loop of questions and for each
//add the question and yes/no stuff..
///PlaceHolder is a ContentPlaceholder Control within the .aspx page.
foreach(inputtype input in this.inputs)
{
Label lbl = new Label();
lbl.Text = input.Question;
DropDownList ddl = new DropDownList();
ddl.ID = input.QuestionID;
ddl.DataSource = YesNoDataTable;
ddl.DataBind();
this.PlaceHolder.Controls.Add(lbl);
this.PlaceHolder.Controls.Add(ddl);
}
0
Dim tDropDownList As DropDownList = Nothing
Dim tQuestion As String = String.Empty
For Each tQuestion In tQuestions
tDropDownList = New DropDownList
tDropDownList.Name = "someName here"
tDropDownList.Items.Add("Yes")
tDropDownList.Items.Add("No")
Page.Constrols.Add(tDropDownList)
Next
Смежные вопросы
- 1. Программно создавая имя объекта
- 2. Программно создавая объект?
- 3. Программно создавая shards.yml?
- 4. Программно создавая окна WPF
- 5. Программно создавая закладки Bootstrap
- 6. Программно создавая SQL db
- 7. Программно создавая файл jar
- 8. Программно создавая 3D-куб WPF
- 9. Программно создавая первые миграции кода
- 10. Android - программно создавая просмотр progressBar
- 11. Программно создавая horizontalscrollview не работает
- 12. Программно создавая точку беспроводного доступа в C#
- 13. NSArrayController, создавая объекты CoreData программно, и KVO
- 14. Программно создавая пакет NuGet для локального репозитория
- 15. Программно создавая связанные таблицы в доступе
- 16. Программно создавая кнопки в разных местах
- 17. Невозможно создать UIViewController программно, не создавая представление?
- 18. Программно создавая VS-решение/файлы проекта
- 19. Программно создавая новый порядок в Woocommerce
- 20. Программно создавая элементы управления в какао
- 21. Программно создавая dstreams в искры apache
- 22. Программно создавая редактируемые документы Word из ASP.NET?
- 23. Программно создавая документ слов через открытый офис
- 24. Программно создавая метки для Chart.js в угловом?
- 25. Программно создавая макеты и добавляя к виду
- 26. Spark: Программно создавая схему DataFrame в scala
- 27. Программно создавая собственный список распространения Outlook
- 28. Программно создавая ASP.NET PlaceHolders в C#
- 29. Программно создавая экземпляр NSPopUpButtonCell в Cocoa OSX
- 30. Заполнить JPasswordField программно, не создавая объект String
Предложение Womps по управлению ретранслятором, вероятно, лучше, если единственное, что меняется, это действительно вопрос. Но если у вас были «типы» вопросов, которые вызвали разные механизмы ответа, скажем, int, тогда вам, вероятно, понадобится что-то вроде этого ... – RSolberg
с помощью разных механизмов ответа. Я предлагаю, чтобы, возможно, у вас есть вход, который позволяет int, возможно, тот, который является да/нет, может быть, тот, который отображает цвета и т. д. – RSolberg
Метод Yeary womp больше подходит для моей проблемы, но только случайно, поскольку я не объяснил подробно подробно в вопросе, но спасибо за разделяя этот метод. Я никогда этого не видел. –