0

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

4

3 回答 3

0

用甜美简单的话来说,

没必要

您也可以对其进行硬编码

但一般硬编码是不可取的。

于 2013-04-09T12:22:49.700 回答
0

不,ADropDownList可以用标记填充:

<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>

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

于 2013-04-09T12:24:50.910 回答
0

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

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

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

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

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

于 2013-04-09T13:06:08.963 回答