【问题标题】:How to populate a ListBox with DropDownList Text using ASP.NET C#?如何使用 ASP.NET C# 用 DropDownList 文本填充 ListBox?
【发布时间】:2015-03-13 19:08:23
【问题描述】:
我有一个具有四个不同标题的 Access 数据库:商业和金融、计算机、技术、教育。我已经使用 asp:AccessDataSource 将它连接到 ListBox,并且它显示得很完美。
我现在尝试设置它,当我在下拉列表(商业和金融、计算机、技术、教育)中选择一个选项时,列表框将动态填充来自数据源的相应数据。我不知道如何执行此操作,并且我不想手动手动输入每个值,因为我需要它易于编辑。
到目前为止,我没有要显示的代码,因为我不知道如何或从哪里开始。请帮忙
【问题讨论】:
标签:
c#
asp.net
drop-down-menu
listbox
datasource
【解决方案1】:
对于 DropDownList,您需要添加 OnSelectedIndexChanged 事件和 AutoPostBack 属性。例如:
<asp:DropDownList ID="ddlHeaders" runat="server"
OnSelectedIndexChanged="ddlHeaders_SelectedIndexChanged" AutoPostBack="true">
</asp:DropDownList>
如果您将 Visual Studio 用于您的 aspx 和 aspx.cs 网页,只要您在 OnSelectedIndexChanged 之后键入“=”,Intellisense 就会提示您创建一个新事件。这将在您的 C# 代码中自动创建事件。每次 DropDownList 中的值发生更改时,AutoPostBack 都会触发该事件。
在事件代码中,您将设置 ListBox 的源,其中数据源的 Header 字段等于 ddlHeaders.SelectedValue。
【解决方案2】:
OnSelectedIndexChanged 是您想要调用 DataBase 以根据 DropDown 中的选择获取数据的位置,使用该数据填充列表框。
如果您要存储原始调用中的数据,则可以使用循环从该源中获取所有数据。
老实说,我会使用调用来填充下拉列表,并使用单独的调用来填充列表框。