下拉列表中的项目是否需要在数据库中为它们创建一个表(microsoft sql server)?
问问题
121 次
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 回答