你必须从数据库加载DropDownList吗?

时间:2013-04-09 12:21:09

标签: asp.net .net sql-server-2008

下拉列表中的项目是否需要在数据库中为它们创建一个表(microsoft sql server)?

3 个答案:

答案 0 :(得分:0)

用甜言蜜语,

不必要

你也可以硬代码

但通常硬代码不是 Advisable

答案 1 :(得分:0)

没有。 DropDownList可以使用标记填充:

<asp:DropDownList ID="myDDL" runat="server">
    <asp:ListItem Text="Hello" Value="0" />
</asp:DropDownList>

并且可以填充代码:

myDDL.Items.Add(new ListItem("Hello", "0"));

它可以像你所说的那样受数据约束。所以,如果你不需要表,那就不要使用表。让我举一个具体的例子。假设你想列出性别,你可以像这样构建一个DropDownList

<asp:DropDownList ID="genderList" runat="server">
    <asp:ListItem Text="Male" Value="M" />
    <asp:ListItem Text="Female" Value="F" />
</asp:DropDownList>

然后只将该单个字符存储在数据库中,而不是为它构建一个完整的查找表。

答案 2 :(得分:0)

正如其他答案所述,严格来说没有。但我会说,这取决于。

在某些情况下,您始终希望数据库填充下拉列表。例如,当下拉菜单中的值镜像数据库中已存在的值时,您需要保留数据的完整性。

但是,如果您可以100%确定数据永远不会改变,那么可以将值硬编码到下拉列表中。

当数据在写回数据库之前需要一些解释时,这些值也可能是硬编码的。例如,是/否,男/女值。

最后,您还可以考虑将Enums绑定到下拉列表,作为查询数据库的替代方法。同样,这对于不改变的Enum值是可接受的,例如,已发布状态(已发布/已发布/未发布)。