Asp.net 从数据库数据创建的动态控件
我已经工作了几天,试图找出如何做到这一点。在C#工作时,我有一个从各种数据库表中提取的数据列表。我想从这些数据中创建不同的DropDownList,这些数据将在回发中持久存在。我能够修补的一种方法是将数据解析到List>中,并将两个中继器相互嵌套Asp.net 从数据库数据创建的动态控件,asp.net,database,postback,viewstate,Asp.net,Database,Postback,Viewstate,我已经工作了几天,试图找出如何做到这一点。在C#工作时,我有一个从各种数据库表中提取的数据列表。我想从这些数据中创建不同的DropDownList,这些数据将在回发中持久存在。我能够修补的一种方法是将数据解析到List>中,并将两个中继器相互嵌套 <asp:Repeater ID="rpt3" runat="server"> <ItemTemplate> <select> <asp:Repe
<asp:Repeater ID="rpt3" runat="server">
<ItemTemplate>
<select>
<asp:Repeater DataSource="<%#Container.DataItem%>" runat="server">
<ItemTemplate>
<option><%#Container.DataItem%></option>
</ItemTemplate>
</asp:Repeater>
</select>
</ItemTemplate>
</asp:Repeater>
问题在于,SelectedValues不会保存在ViewState中
有什么简单的方法可以做到这一点吗
非常感谢我建议使用DropDownList控件来显示您的个人结果 在前端,您只需声明您的下拉列表:
<asp:DropDownList id="ddl1" runat="server">
</asp:DropDownList>
仅当需要绑定时(例如在初始页面加载时)或当需要刷新数据源时,才在后端调用此函数
如果您想要一个下拉列表的重播器,只需执行以下操作:
<asp:repeater id="rpt1" runat="server">
<ItemTemplate>
<asp:DropDownList id="ddl1" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:repeater>
Viewstate应负责处理其余部分。谢谢您的帮助。如果我要使用转发器,你知道我如何将下拉列表限制在每行3个吗?为了确保我理解正确,你想要一个重复控件,每行显示1到3个下拉列表?这就是我所设想的你正在努力实现的目标:。这有点粗糙,但这就是你想要的产出吗?这就是希望。基本上我有一个包含所有DDL的表。这些DDL是在其下方显示的数据集的筛选选项。我不希望他们都排成一行,因为那样他们会挤在一起,因为我不知道会有多少人进去。我也不希望他们是每行一个,因为我认为这将是不直观的。
<asp:repeater id="rpt1" runat="server">
<ItemTemplate>
<asp:DropDownList id="ddl1" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:repeater>
if(!IsPostBack) { //Add method here }