下拉列表中的项目是否需要在数据库中为它们创建一个表(microsoft sql server)?
答案 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值是可接受的,例如,已发布状态(已发布/已发布/未发布)。