我想用我创建的表中的值填充下拉列表。我只想用其中一个字段(表中的语言)填充列表。我想我已经正确连接到数据源,但我不知道我必须做什么才能将值放入列表中。我可以输入自己的值,但我更愿意将其自动化。
这就是我目前所做的,但我猜它不仅仅是将列表链接到数据源。
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HBshareIndexConnectionString %>"
SelectCommand="SELECT * FROM [Web_Metrics] WHERE ([LCID] = @LCID)">
<SelectParameters>
<asp:QueryStringParameter Name="LCID" QueryStringField="LCID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<asp:Label ID="Label1" runat="server" Text="Select LCID: " ></asp:Label>
<asp:DropDownList ID="DropDownList1" Width="150px" runat="server" DataSourceID="SqlDataSource1" DataTextField="LCID" DataValueField="LCID">
<asp:ListItem>Select LCID...</asp:ListItem>
</asp:DropDownList>
感谢您的帮助。我现在已经填充了下拉列表,但我想知道我实际上如何获得我用来显示该人选择的 LCID 详细信息的转发器?我见过人们谈论 page.isPostback 但我不知道那是什么或者它是否适用于我当前的设置。我需要以某种方式获取他们选择的 LCID,然后刷新页面以显示该 LCID 的详细信息。有人有什么想法吗?
最佳答案
您的问题是您正在尝试定义列表项和数据源。
如果你想插入一个“选择一个项目..”选项,我建议将它添加到你的结果集(让它总是首先使用 UNION
和 ORDER BY
可能很难,具体取决于您的字段)或在代码后面的数据绑定(bind)后插入它:
修改 DropDownList1
的属性:
<asp:DropDownList ID="DropDownList1" Width="150px" runat="server" DataSourceID="SqlDataSource1" DataTextField="CountryName" DataValueField="LCID" OnDataBound="InsertChooseItem" />
C#:
protected void InsertChooseItem(object sender, EventArgs e)
{
ListItem selectOnePlease = new ListItem("Select LCID..", 0);
DropDownList1.Items.Insert(0, selectOnePlease);
}
VB:
Protected Sub InsertChooseItem(sender As Object, e As EventArgs)
Dim selectOnePlease As New ListItem("Select LCID..", 0)
DropDownList1.Items.Insert(0, selectOnePlease)
End Sub
关于asp.net - 如何从数据库表填充 asp.net 中的下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14756417/