asp.net - 如何从数据库表填充 asp.net 中的下拉列表?

标签 asp.net sql database drop-down-menu

我想用我创建的表中的值填充下拉列表。我只想用其中一个字段(表中的语言)填充列表。我想我已经正确连接到数据源,但我不知道我必须做什么才能将值放入列表中。我可以输入自己的值,但我更愿意将其自动化。

这就是我目前所做的,但我猜它不仅仅是将列表链接到数据源。

<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> &nbsp; &nbsp;  
<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 的详细信息。有人有什么想法吗?

最佳答案

您的问题是您正在尝试定义列表项和数据源。

如果你想插入一个“选择一个项目..”选项,我建议将它添加到你的结果集(让它总是首先使用 UNIONORDER 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/

相关文章:

asp.net - 如何跟踪 ScriptService WebService 请求?

c# - 从服务器端.aspx页面上的文本框获取值

sql - 根据一组排序的主键检索数据

mysql - rails : returning the latest data of fields

sql - 一个和三个其他表之间的最佳关系

asp.net - 我们可以在同一个应用程序中将 session 状态和缓存存储在 Redis 缓存上吗?

asp.net - 超出最大请求长度。

mysql - WHERE/GROUP By Condition - 一个名称但多个值

database - 在 postgresql 中找不到 sql server 中 SQL_Variant 的等效数据类型

mysql - 为什么我添加 htacess 文件后我的 post 方法只发送 1 行表数据?